| Overall Statistics |
|
Total Trades 4100 Average Win 0.05% Average Loss -0.07% Compounding Annual Return -4.346% Drawdown 19.700% Expectancy -0.138 Net Profit -18.136% Sharpe Ratio -0.594 Loss Rate 51% Win Rate 49% Profit-Loss Ratio 0.76 Alpha -0.056 Beta 1.359 Annual Standard Deviation 0.057 Annual Variance 0.003 Information Ratio -0.873 Tracking Error 0.057 Treynor Ratio -0.025 Total Fees $0.00 |
from Alphas.EmaCrossAlphaModel import EmaCrossAlphaModel
from Execution.ImmediateExecutionModel import ImmediateExecutionModel
from Portfolio.EqualWeightingPortfolioConstructionModel import EqualWeightingPortfolioConstructionModel
from G10CurrencySelectionModel import G10CurrencySelectionModel
class TachyonParticleSplitter(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2014, 10, 11) # Set Start Date
self.SetCash(100000) # Set Strategy Cash
self.AddAlpha(EmaCrossAlphaModel(20, 50, Resolution.Daily))
self.SetExecution(ImmediateExecutionModel())
self.SetPortfolioConstruction(EqualWeightingPortfolioConstructionModel())
self.AddUniverseSelection( G10CurrencySelectionModel())
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:
# self.SetHoldings("SPY", 1)from QuantConnect import *
from Selection.ManualUniverseSelectionModel import ManualUniverseSelectionModel
class G10CurrencySelectionModel(ManualUniverseSelectionModel):
def __init__(self):
super().__init__([Symbol.Create(x, SecurityType.Forex, Market.Oanda) for x in [ "EURUSD", "GBPUSD", "USDJPY", "AUDUSD", "NZDUSD","USDCAD", "USDCHF", "USDNOK", "USDSEK"]])