| Overall Statistics |
|
Total Orders 9 Average Win 0% Average Loss 0% Compounding Annual Return 8.973% Drawdown 24.400% Expectancy 0 Start Equity 100000 End Equity 198749.37 Net Profit 98.749% Sharpe Ratio 0.398 Sortino Ratio 0.407 Probabilistic Sharpe Ratio 10.134% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha -0.016 Beta 0.65 Annual Standard Deviation 0.105 Annual Variance 0.011 Information Ratio -0.738 Tracking Error 0.063 Treynor Ratio 0.064 Total Fees $10.02 Estimated Strategy Capacity $50000000.00 Lowest Capacity Asset AAXJ U55LDE3TN4O5 Portfolio Turnover 0.03% |
from AlgorithmImports import *
class MyStrategicPortfolio(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2017, 1, 1)
self.SetEndDate(2025, 2, 28)
self.SetCash(100000)
tickers = ["QQQ", "SPY", "VGK", "TIP", "TLT", "XLV", "VYM", "EEM", "AAXJ"]
weights = {
"QQQ": 0.10, "SPY": 0.10, "VGK": 0.10, "TIP": 0.15, "TLT": 0.15,
"XLV": 0.10, "VYM": 0.12, "EEM": 0.10, "AAXJ": 0.08
}
self.etfs = {}
for ticker in tickers:
self.etfs[ticker] = self.AddEquity(ticker, Resolution.Daily).Symbol
self.weights = weights
self.invested = False
def OnData(self, data: Slice):
if self.invested:
return
for ticker, weight in self.weights.items():
if self.Securities.ContainsKey(self.etfs[ticker]) and self.Securities[self.etfs[ticker]].IsTradable:
self.SetHoldings(self.etfs[ticker], weight)
self.invested = True