| Overall Statistics |
|
Total Trades 4 Average Win 0% Average Loss -9.75% Compounding Annual Return -9.895% Drawdown 22.600% Expectancy -1 Net Profit -18.780% Sharpe Ratio -0.8 Loss Rate 100% Win Rate 0% Profit-Loss Ratio 0 Alpha -0.018 Beta -3.942 Annual Standard Deviation 0.121 Annual Variance 0.015 Information Ratio -0.964 Tracking Error 0.121 Treynor Ratio 0.025 Total Fees $105.97 |
import numpy as np
### <summary>
### Basic template algorithm simply initializes the date range and cash. This is a skeleton
### framework you can use for designing an algorithm.
### </summary>
class BasicTemplateAlgorithm(QCAlgorithm):
'''Basic template algorithm simply initializes the date range and cash'''
def Initialize(self):
# Code Automatically Generated
'''Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized.'''
self.SetStartDate(2016, 1, 1) #Set Start Date
self.SetEndDate(2017, 12, 31) #Set End Date
self.SetCash(100000) #Set Strategy Cash
# Set Benchmark SPY
# self.SetBenchmark("SPY")
self.SetBenchmark("BAC")
# Find more symbols here: http://quantconnect.com/data
self.AddEquity("BAC")
self.Schedule.On(self.DateRules.On(2016, 4, 20), self.TimeRules.AfterMarketOpen("BAC", 10), Action(self.buy))
self.Schedule.On(self.DateRules.On(2016, 6, 28), self.TimeRules.AfterMarketOpen("BAC", 10), Action(self.sell))
self.Schedule.On(self.DateRules.On(2017, 6, 30), self.TimeRules.AfterMarketOpen("BAC", 10), Action(self.buy))
self.Schedule.On(self.DateRules.On(2017, 9, 8), self.TimeRules.AfterMarketOpen("BAC", 10), Action(self.sell))
def OnData(self, data):
pass
def buy(self):
# place buy order
# "1" bedeutet mit vollem Vermögen
# "100" bedeutet, gehebelt reingehen (kann Margin Call auslösen)
self.SetHoldings("BAC", 1)
def sell(self):
# place sell order
# "0" bedeutet, die Investition zurücknehmen. "-1" bedeutet short gehen.
self.SetHoldings("BAC", 0)