Testing the performance of a portfolio over a historical time span
| Parameters | Type |
|---|---|
| portfolio | The exact same portfolio, which can be fetched from the finApi |
| stocksData | Daily/Weekly/Monthly Time Series in the from of {symbol: data fetched from AlphaVantage} |
| fromDate | Date |
| toDate | Date |
| Parameters | Type | Explanation |
|---|---|---|
| MDDMaxToMin | number as String | The maximum drawdown of a portfolio according to the maximum and minimum observed value |
| MDDInitialToMin | number as String | The maximum drawdown of a portfolio according to the initial and minimum observed value |
| dateMax | Date as String | The date at which the portfolio value was the highest |
| dateMin | Date as String | The date at which the portfolio value was the lowest |
| maxValue | number as String | The maximum observed value of the portfolio |
| minValue | number as String | The minimum observed value of the portfolio |
| initialValue | number as String | The initial value of the portfolio or how much it costed to buy all the stocks at the starting date |
| bestYear | { | Best Year performance |
| changeBest: number as String | The change of the value of the portfolio | |
| yearBest: Date as String | The year itself | |
| growthRateBest: number as String} | The growth rate of the portfolio value in this year | |
| } | ||
| worstYear | { | Worst Year performance |
| changeWorst | number as String, | The change of the value of the portfolio |
| yearWorst | Date as String, | The year itself |
| growthRateWorst | number as String | The growth rate of the portfolio value in this year |
| } | ||
| finalPortfolioBalance | number as String, | The final portfolio balance (if < 0 => equal ot 0) |
| CAGR | number | Compund Annual Growth Rate of the portfolio |
| standardDeviation | number | Standard Deviation |
| sharpeRatio | number | Sharpe Ratio |
{
"MDDMaxToMin": "-0.6242",
"MDDInitialToMin": "0.0000",
"dateMax": "2021-02-05",
"dateMin": "2017-01-06",
"maxValue": "17333.6900",
"minValue": "6513.9700",
"initialValue": "6513.9700",
"bestYear": {
"changeBest": "3914.8400",
"yearBest": "2020",
"growthRateBest": "0.3336"
},
"worstYear": {
"changeWorst": "-137.9000",
"yearWorst": "2018",
"growthRateWorst": "-0.0153"
},
"finalPortfolioBalance": "10156.1700",
"CAGR": 0.24892224713946032,
"standardDeviation": 0.030303142486978612,
"sharpeRatio": 0.46716646357345853
}Evaluates the portfolio diversification in: _ industries _ countries _ currencies _ asset classes * sectors
| Parameters | Type |
|---|---|
| portfolio | The exact same portfolio, which can be fetched from the finApi |
| symbolCompanyOverview | Company Overviews in the form of {symbol: data fetched from AlphaVantage} |
| Parameters | Type |
|---|---|
| industries | { |
| concrete industry | number |
| } | |
| countries | { |
| concrete country | number |
| } | |
| currencies | { |
| concrete currency | number |
| } | |
| assetClasses | { |
| concrete asset class | number |
| } | |
| sectors | { |
| concrete sector | number |
| } |
{
industries: {
'Consumer Electronics': 0.09523809523809523,
'Internet Content & Information': 0.19047619047619047,
'Internet Retail': 0.19047619047619047,
'Information Technology Services': 0.14285714285714285,
'Banks-Diversified': 0.38095238095238093
},
countries: { USA: 0.9999999999999999 },
currencies: { USD: 0.9999999999999999 },
assetClasses: { 'Common Stock': 0.9999999999999999 },
sectors: {
Technology: 0.23809523809523808,
'Communication Services': 0.19047619047619047,
'Consumer Cyclical': 0.19047619047619047,
'Financial Services': 0.38095238095238093
}
}| Parameters | Type |
|---|---|
| portfolio | The exact same portfolio, which can be fetched from the finApi |
| symbolCompanyOverview | Company Overviews in the form of {symbol: data fetched from AlphaVantage} |
| Parameters | Type |
|---|---|
| PERatios | { |
| concrete stock symbol | number |
| } | |
| averagePERatios | number |
{
PERatios: {
AAPL: '33.4662',
GOOGL: '34.6457',
AMZN: '74.3694',
IBM: '20.945',
BABA: '25.4694',
JPM: '17.0011'
},
averagePEration: 28.763647619047617
}| Parameters | Type |
|---|---|
| portfolio | The exact same portfolio, which can be fetched from the finApi |
| symbolCompanyOverview | Company Overviews in the form of {symbol: data fetched from AlphaVantage} |
| Parameters | Type |
|---|---|
| dividendyield | { |
| concrete stock symbol | number |
| } | |
| averageDividendyield | number |
{
dividendyield: {
AAPL: 0.0067,
GOOGL: 0,
AMZN: 0,
IBM: 0.0505,
BABA: 0,
JPM: 0.0232
},
averageDividendyield: 0.01669047619047619
}| Parameters | Type |
|---|---|
| portfolio | The exact same portfolio, which can be fetched from the finApi |
| stocksData | Daily/Weekly/Monthly Time Series in the from of {symbol: data fetched from AlphaVantage} |
| Parameters | Type |
|---|---|
| totalGainLoss | number |
| concrete stock symbol | { |
| symbolGainLoss | number |
| } |
{
totalGainLoss: 1020.6800000000001,
AAPL: { symbolGainLoss: -22.599999999999994 },
GOOGL: { symbolGainLoss: 1172.5999999999995 },
AMZN: { symbolGainLoss: -362.39999999999964 },
IBM: { symbolGainLoss: 29.940000000000055 },
BABA: { symbolGainLoss: -1.7399999999999523 },
JPM: { symbolGainLoss: 204.8800000000001 }
}| Parameters | Type |
|---|---|
| portfolio | The exact same portfolio, which can be fetched from the finApi |
| stocksData | Daily/Weekly/Monthly Time Series in the from of {symbol: data fetched from AlphaVantage} |
| Parameters | Type |
|---|---|
| volatility | { |
| concrete stock symbol | number |
| } | |
| correlations | { |
| concrete correlation | number |
| } |
{
volatility: {
Apple: 1.0304461557501514,
Google: 0.5496680733681532,
Amazon: 0.5993856976545141,
IBM: 0.5765889119578946,
'Alibaba group': 0.7140162113218156,
'JPMorgan Chase & Co.': 0.6486754881067324
},
correlations: {
'Apple to Google': 0.397373186,
'Amazon to Apple': 0.352196405,
'Amazon to Google': 0.57879282,
'Apple to IBM': 0.274291102,
'Google to IBM': 0.404049364,
'Amazon to IBM': 0.293267182,
'Alibaba group to Apple': 0.265261281,
'Alibaba group to Google': 0.484715212,
'Alibaba group to Amazon': 0.489600363,
'Alibaba group to IBM': 0.296927759,
'Apple to JPMorgan Chase & Co.': 0.223081253,
'Google to JPMorgan Chase & Co.': 0.502319427,
'Amazon to JPMorgan Chase & Co.': 0.223161337,
'IBM to JPMorgan Chase & Co.': 0.609458275,
'Alibaba group to JPMorgan Chase & Co.': 0.263935979
}
}| Parameters | Type |
|---|---|
| portfolio | The exact same portfolio, which can be fetched from the finApi |
| stocksData | Daily/Weekly/Monthly Time Series in the from of {symbol: data fetched from AlphaVantage} |
| Parameters | Type |
|---|---|
| { | |
| concrete stock symbol | number |
| } |
{
Apple: -0.01677788742875957,
Google: 0.3918344052565828,
Amazon: 0.5882535062884182,
IBM: -0.1304550726559575,
'Alibaba group': 0.30004682245527253,
'JPMorgan Chase & Co.': 0.18631715927443418
}| Parameters | Type |
|---|---|
| portfolio | The exact same portfolio, which can be fetched from the finApi |
| balanceSheetPerSymbol | Balance Sheets in the form of {symbol: data fetched from AlphaVantage} |
| Parameters | Type |
|---|---|
| debtEquityPerStock | { |
| concrete stock symbol | number |
| } | |
| totalDebtEquity | number |
| averageDebtEquity | number |
{
debtEquityPerStock: {
AAPL: 3.957039440456695,
GOOGL: 0.436192393414336,
AMZN: 2.4387713588283155,
IBM: 6.525015680030878,
BABA: 0.5082281505442549,
JPM: 11.121075767663967
},
totalDebtEquity: 24.986322790938445,
averageDebtEquity: 4.164387131823074
}Performs backtesting, portfolio evaluation and analysis.
Spawns a child python process and prints out what it returns