Overall Statistics
Total Orders
3
Average Win
0%
Average Loss
-1.01%
Compounding Annual Return
260.532%
Drawdown
2.200%
Expectancy
-1
Start Equity
100000
End Equity
101653.13
Net Profit
1.653%
Sharpe Ratio
8.454
Sortino Ratio
0
Probabilistic Sharpe Ratio
66.805%
Loss Rate
100%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
-0.095
Beta
1.007
Annual Standard Deviation
0.224
Annual Variance
0.05
Information Ratio
-33.464
Tracking Error
0.002
Treynor Ratio
1.881
Total Fees
$10.80
Estimated Strategy Capacity
$27000000.00
Lowest Capacity Asset
SPY R735QTJ8XC9X
Portfolio Turnover
59.91%
# region imports
from AlgorithmImports import *
# endregion

class AlertBlueScorpion(QCAlgorithm):

    def initialize(self):
        '''initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized.'''

        # Set requested data resolution
        self.universe_settings.resolution = Resolution.MINUTE

        self.set_start_date(2013,10,7)   #Set Start Date
        self.set_end_date(2013,10,11)    #Set End Date
        self.set_cash(100000)           #Set Strategy Cash

        # Find more symbols here: http://quantconnect.com/data
        # Forex, CFD, Equities Resolutions: Tick, Second, Minute, Hour, Daily.
        # Futures Resolution: Tick, Second, Minute
        # Options Resolution: Minute Only.
        symbols = [ Symbol.create("SPY", SecurityType.EQUITY, Market.USA) ]

        # set algorithm framework models
        self.set_universe_selection(ManualUniverseSelectionModel(symbols))
        self.set_alpha(ConstantAlphaModel(InsightType.PRICE, InsightDirection.UP, timedelta(minutes = 20), 0.025, None))

        # We can define how often the EWPCM will rebalance if no new insight is submitted using:
        # Resolution Enum:
        self.set_portfolio_construction(EqualWeightingPortfolioConstructionModel(Resolution.DAILY))
        # timedelta
        # self.set_portfolio_construction(EqualWeightingPortfolioConstructionModel(timedelta(2)))
        # A lamdda datetime -> datetime. In this case, we can use the pre-defined func at Expiry helper class
        # self.set_portfolio_construction(EqualWeightingPortfolioConstructionModel(Expiry.END_OF_WEEK))

        self.set_execution(ImmediateExecutionModel())
        self.set_risk_management(MaximumDrawdownPercentPerSecurity(0.01))

        self.debug("numpy test >>> print numpy.pi: " + str(np.pi))

    def on_order_event(self, order_event):
        if order_event.status == OrderStatus.FILLED:
            self.debug("Purchased Stock: {0}".format(order_event.symbol))