declare namespace XRayUSJSON { export interface XRayUSResponse { XRay: Array; SecurityReference: Array; } export interface SecurityReference { BaseCurrency: string; ISIN: string; InceptionDate: string; Name: string; SecurityId: string; SecurityReferenceTypes: Array; Type: string; } export interface XRayUS { PortfolioName: string; Analysis: { InvestmentStyle: InvestmentStyle; AssetAllocation: Array; FixedIncomeAnalysis: FixedIncomeAnalysis; EquityAnalysis: EquityAnalysis; }; Returns?: { RollingReturns?: RollingReturns; CalendarYearReturn: CalendarYearReturn; TrailingReturns: TrailingReturns; }; Holdings: { AsOfDate: string; PortfolioHoldings: PortfolioHoldings; }; Statistics: { FundStatistics: FundStatistics; }; Risks?: { MPTStatistics: Array; CorrelationMatrix: Array; RiskStatistics: Array; }; } export interface PortfolioHoldings { AsOfDate: string; Security: Array; } export interface Security { FundPortfolioDate: string; MarketValue: number; Name: string; PercentAssets: number; SecurityId: string; Year1: number; Year3: number; Year5: number; Year10: number; NotClassifiedHoldingId: string; } export interface FixedIncomeAnalysis { CreditQuality: { Portfolio: CreditQualityBreakdown; Benchmark: CreditQualityBreakdown; }; } export interface EquityAnalysis { WorldRegions: WorldRegions; } export interface WorldRegions { Portfolio: Array; Benchmark: Array; } export interface WorldRegionsItem { Id: string; Value: number; ExposureItem?: Array; } export interface WorldRegionsExposureItem { Id: string; Value: number; } export interface AssetAllocation { Id: string; AsOfDate: string; PortfolioAnalyzed: number; Portfolio: Array; Benchmark: Array; SecurityBreakdown: Array; } export interface AssetAllocationItem { Id: string; Long: number; Short: number; Net: number; } export interface AssetAllocationSecurityBreakdown { SecurityId: string; Analyzed: number; NotAnalyzed: number; AssetClass: Array; } export interface InvestmentStyle { AsOfDate: string; EquityStyle: EquityStyle; FixedIncomeStyle: FixedIncomeStyle; } export interface EquityStyle { AsOfDate: string; EquityStyleBreakdown: { AsOfDate: string; Portfolio: EquityStyleBreakdownItem; SecurityBreakdown: Array; }; } export interface FixedIncomeStyle { AsOfDate: string; FixedIncomeStyleBreakdown: FixedIncomeStyleBreakdown; Portfolio: { EffectiveDuration: number; EffectiveMaturity: number; }; PortfolioAnalyzed: number; } export interface FixedIncomeStyleBreakdown extends FixedIncomeStyleBreakdownItem { AsOfDate: string; SecurityBreakdown: Array; } export interface FixedIncomeStyleSecurityBreakdownItem { Analyzed: number; FixedIncomeStyleBreakdownItem: FixedIncomeStyleBreakdownItem; NotAnalyzed: number; SecurityId: string; } export interface EquityStyleSecurityBreakdownItem { Analyzed: number; EquityStyleBreakdownItem: EquityStyleBreakdownItem; NotAnalyzed: number; SecurityId: string; } interface TrailingReturns { AsOfDate: string; Portfolio: TrailingReturnsPortfolio; Benchmark: TrailingReturnsBenchmark; } interface TrailingReturnsPortfolio { TimePeriod: Array; } interface TrailingReturnsBenchmark { TimePeriod: Array; } interface TimePeriod { Id: string; Value: number; } interface BenchmarkTimePeriod extends TimePeriod { GrossValue?: number; } interface FixedIncomeStyleBreakdownItem { HighLtd: number; HighMod: number; HighExt: number; MedLtd: number; MedMod: number; MedExt: number; LowLtd: number; LowMod: number; LowExt: number; Unclassified: number; } interface EquityStyleBreakdownItem { LargeBlend: number; LargeGrowth: number; LargeValue: number; MidBlend: number; MidGrowth: number; MidValue: number; SmallBlend: number; SmallGrowth: number; SmallValue: number; Unclassified: number; } interface CreditQualityBreakdown { AAA: number; AA: number; A: number; BBB: number; BB: number; B: number; BelowB: number; NotRated: number; } interface RollingReturns { AsOfDate: string; RollingReturn: Array; } interface RollingReturn { Portfolio: RollingReturnPortfolio; RollingPeriod: 'Month24' | 'Month120' | '12' | '36' | '60' | '120'; } interface RollingReturnPortfolio { StartYear: number; StartMonth: number; Data: Array; Details: Array; } interface RollingReturnPortfolioData { Id: number; Value: number; } interface RollingReturnPortfolioDetails { AnnualizedTotalReturn: number; CumulativeTotalReturn: number; Id: number; Period: string; } interface RiskStatistics { AsOfDate: string; TrailingTimePeriod: TrailingTimePeriod; DataFrequency: 'Monthly' | 'Quarterly'; Portfolio: RiskStatisticsItem; Benchmark: RiskStatisticsItem; Security: Array; } interface CalendarYearReturn { AsOfDate: string; Portfolio: CalendarYearReturnItem; Benchmark: CalendarYearReturnItem; } interface CalendarYearReturnItem { CalendarYear: Array<{ Id: number; Value: number; GrossValue?: number; }>; } interface FundStatistics { AsOfDate: string; PortfolioAnalyzed: number; Portfolio: FundStatisticsPortfolioBreakdown; SecurityBreakdown: Array; } interface FundStatisticsPortfolioBreakdown { AverageNetExpenseRatio: number; AverageGrossExpenseRatio: number; PotentialCapGainsExposure: number; AverageManagementExpenseRatio: number; AverageManagementFee: number; EstimatedMutualFundExpensesAmount: number; } interface FundStatisticsSecurityBreakdown { SecurityId: string; Analyzed: number; NotAnalyzed: number; FundStatisticsItem: FundStatisticsItem; } interface FundStatisticsItem { AverageNetExpenseRatio: number; AverageGrossExpenseRatio: number; PotentialCapGainsExposure: number; } interface MPTStatisticsBreakdownItem { AsOfDate: string; TrailingTimePeriod: TrailingTimePeriod; DataFrequency: string; Portfolio: MPTStatisticsPortfolio; } interface MPTStatisticsPortfolio { Alpha: number; Beta: number; RSquared: number; UpCaptureRatio: number; DownCaptureRatio: number; TreynorRatio: number; OmegaRatio: number; } interface CorrelationMatrixItem { TrailingTimePeriod: TrailingTimePeriod; DataFrequency: 'Monthly'; StartDate: string; EndDate: string; Correlations: Array; } interface CorrelationItemKey { Id: number; SecurityId: string; UseExtendedReturns: boolean; Type: 'Portfolio' | 'Security'; CorrelatedItemKey: Array; } interface CorrelatedItemKey { CorrelatedItemKeyId: number; Type: 'Portfolio' | 'Security'; Value: number; } type TrailingTimePeriod = ('Year1' | 'Year2' | 'Year3' | 'Year5' | 'Year10'); interface RiskStatisticsItem { Mean: number; SharpeRatio: number; StandardDeviation: number; SortinoRatio: number; ExcessReturn: number; InformationRatio: number; TrackingError: number; } interface RiskStatisticsSecurity { RiskStatisticsItem: RiskStatisticsItem; SecurityId: string; Weight: number; } export {}; } export default XRayUSJSON;