| Overall Statistics |
|
Total Trades 1 Average Win 0% Average Loss 0% Compounding Annual Return 245.085% Drawdown 1.200% Expectancy 0 Net Profit 0.588% Sharpe Ratio 6.493 Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 2.029 Beta -186.275 Annual Standard Deviation 0.114 Annual Variance 0.013 Information Ratio 6.398 Tracking Error 0.115 Treynor Ratio -0.004 Total Fees $0.00 |
from QuantConnect.Data import SubscriptionDataSource
from QuantConnect.Python import PythonData
from datetime import date, timedelta, datetime
from decimal import Decimal
class loadCustomData(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2017, 1, 2)
self.SetEndDate(2017, 1, 3)
self.SetCash(1000000)
### Import the custom data
self.AddData(XYZ, "XYZ", Resolution.Minute)
def OnData(self, data):
if not (data.ContainsKey("XYZ")): return
### Print price to log:
self.Log('data["XYZ"].Price : ' + str(data["XYZ"].Price))
if not self.Portfolio['XYZ'].Invested:
self.SetHoldings('XYZ',1)
class XYZ(PythonData):
"Import data from google cloud"
def GetSource(self, config, date, isLiveMode):
return SubscriptionDataSource("https://docs.google.com/spreadsheets/d/e/2PACX-1vReHX1zAOU8Kgylr1npfZjxw8b52vXA5EH5MpBkFqm2-eN1GVXYi7ei8T_a1xiJReDNulRerDmqpg9L/pub?output=csv", SubscriptionTransportMedium.RemoteFile)
def Reader(self, config, line, date, isLiveMode):
if not (line.strip() and line[0].isdigit()): return None
index = XYZ()
index.Symbol = config.Symbol
try:
data = line.split(',')
### Date format set for minute resolutino
index.Time = datetime.strptime(data[6], "%Y-%m-%d %H:%M:%S")
### Get close price
index.Value = Decimal(data[4])
except:
return None
return index