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"]])