| Overall Statistics |
|
Total Trades 0 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Net Profit 0% Sharpe Ratio 0 Probabilistic Sharpe Ratio 0% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0 Annual Variance 0 Information Ratio 0 Tracking Error 0 Treynor Ratio 0 Total Fees $0.00 |
universum = {"iShares_Core_MSCI_World_UCITS": "https://microsegundos.com/wp-content/uploads/2020/03/iShares-Core-MSCI-World-UCITS.csv",
"iShares_MSCI_Emerging_Markets_UCITS_Acc": "https://microsegundos.com/wp-content/uploads/2020/03/iShares-MSCI-Emerging-Markets-UCITS-Acc.csv",
"iShares_Euro_Aggregate_Bond_UCITS": "https://microsegundos.com/wp-content/uploads/2020/03/iShares-Euro-Aggregate-Bond-UCITS.csv",
"iShares_$_Corporate_Bond_UCITS": "https://microsegundos.com/wp-content/uploads/2020/03/iShares-Corporate-Bond-UCITS.csv",
"Vanguard_USD_Treasury_Bd": "https://microsegundos.com/wp-content/uploads/2020/03/Vanguard-USD-Treasury-Bd.csv",
"iShares_Developed_Markets_Property_Yield_UCITS": "https://microsegundos.com/wp-content/uploads/2020/03/iShares-Developed-Markets-Property-Yield-UCITS.csv",
"Think_Global_Real_Estate": "https://microsegundos.com/wp-content/uploads/2020/03/Think-Global-Real-Estate.csv",
"iShares_European_Property_Yield_UCITS": "https://microsegundos.com/wp-content/uploads/2020/03/iShares-European-Property-Yield-UCITS.csv",
"iShares_Asia_Property_Yield_UCITS": "https://microsegundos.com/wp-content/uploads/2020/03/iShares-Asia-Property-Yield-UCITS.csv",
"iShares_Listed_Private_Equity_UCITS": "https://microsegundos.com/wp-content/uploads/2020/03/iShares-Listed-Private-Equity-UCITS.csv"
}
class InvestingImport(PythonData):
'''Custom Data Class to import prepared Investing data'''
def GetSource(self, config, date, isLiveMode):
return SubscriptionDataSource(universum[config.Symbol], SubscriptionTransportMedium.RemoteFile)
def Reader(self, config, line, date, isLiveMode):
# New InvestingImport object
index = InvestingImport()
index.Symbol = config.Symbol
try:
data = line.split(';')
print(data)
index.Time = datetime.strptime(data[0], "%Y-%m-%d")
index["Open"] = float(data[1])
index["High"] = float(data[2])
index["Low"] = float(data[3])
index.Value = data[4]
index["Close"] = float(data[4])
except ValueError:
return None
return index
"""
class AmundiMSCIWorld(PythonData):
'''Amundi MSCI World Custom Data Class'''
def GetSource(self, config, date, isLiveMode):
return SubscriptionDataSource('https://microsegundos.com/wp-content/uploads/2020/03/Amundi_MSCI_World_prepared.csv', SubscriptionTransportMedium.RemoteFile)
def Reader(self, config, line, date, isLiveMode):
# New Amundi MSCI World object
index = AmundiMSCIWorld()
index.Symbol = config.Symbol
try:
data = line.split(';')
index.Time = datetime.strptime(data[0], "%Y-%m-%d")
index.Value = data[1]
index["Close"] = float(data[1])
except ValueError:
return None
return index
class AmundiMSCIEmergingMarkets(PythonData):
'''Amundi MSCI Emerging Markets Data Class'''
class Nifty(PythonData):
'''NIFTY Custom Data Class'''
def GetSource(self, config, date, isLiveMode):
return SubscriptionDataSource("https://www.dropbox.com/s/rsmg44jr6wexn2h/CNXNIFTY.csv?dl=1", SubscriptionTransportMedium.RemoteFile)
def Reader(self, config, line, date, isLiveMode):
if not (line.strip() and line[0].isdigit()): return None
# New Nifty object
index = Nifty()
index.Symbol = config.Symbol
try:
# Example File Format:
# Date, Open High Low Close Volume Turnover
# 2011-09-13 7792.9 7799.9 7722.65 7748.7 116534670 6107.78
data = line.split(',')
index.Time = datetime.strptime(data[0], "%Y-%m-%d")
index.Value = data[4]
index["Open"] = float(data[1])
index["High"] = float(data[2])
index["Low"] = float(data[3])
index["Close"] = float(data[4])
except ValueError:
# Do nothing
return None
return index
"""import Instruments
etf_objects = []
class NotebookProject(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2018, 4, 18) # Set Start Date
self.SetEndDate(2019, 3, 20)
self.SetCash(1000000) # Set Strategy Cash
#self.AddEquity("SPY", Resolution.Minute)
for etf in Instruments.universum:
new_etf = self.AddData(Instruments.InvestingImport, etf, Resolution.Daily).Symbol
etf_objects.append(new_etf)
print(str.format("{0} data was added.", etf))
def OnData(self, data):
'''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
Arguments:
data: Slice object keyed by symbol containing the stock data
'''
if not self.Portfolio.Invested:
for etf in Instruments.universum:
self.SetHoldings(etf, 0.1)