Overall Statistics
Total Trades
1
Average Win
0%
Average Loss
0%
Compounding Annual Return
263.209%
Drawdown
2.200%
Expectancy
0
Net Profit
1.663%
Sharpe Ratio
4.41
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0.007
Beta
76.134
Annual Standard Deviation
0.192
Annual Variance
0.037
Information Ratio
4.354
Tracking Error
0.192
Treynor Ratio
0.011
Total Fees
$3.29
import numpy as np
from Signal import Signal
from html import escape  # python 3.x
import sys

### <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):
        '''Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized.'''

        self.SetStartDate(2013,10, 7)  #Set Start Date
        self.SetEndDate(2013,10,11)    #Set End Date
        self.SetCash(100000)           #Set Strategy Cash
        self.signal = Signal(self) # instantiates signal class for sending webhook data to outside server
        
        # Find more symbols here: http://quantconnect.com/data
        self.AddEquity("SPY", Resolution.Second)
        self.Debug("numpy test >>> print numpy.pi: " + str(np.pi))
        self.testNotify()
        

    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)
            
    def testNotify(self):
        try:
            msg = "Welcome to Trade Jolt. You are receiving a BULLISH trade signal."      
            smsMessage = "smsMessage=" + msg
            self.signal.setSignal(smsMessage )     
            try:
                self.Log("message escaped is {}" . format(self.signal.smsMessage))
                self.Log("message timestamp s {}" . format(self.signal.timestamp))
              
            except:
                self.Log("unable to load message")
                return
                
            self.Log('launching web hook')
            self.Notify.Web("http://www.tradejolt.com/wordpress/qj_sms_forwarder.php",self.signal.smsMessage)
            
            self.Log("successfully sent sms to multiple addresses ") 
        except:
            self.Log("failed to send  ADDITIONAL order\n ") 
            self.Log('An unknown error occurred .' +  str(sys.exc_info()[0]) )                    
            
            self.emailSent = False
from html import escape 
import calendar
import time

    

class Signal(object):

    
    def __init__(self,algo):
        self.timestamp = 123456 # calendar.timegm(time.gmtime())
        self.algo= algo
        self.smsMessage = ""

    def setSignal(self,msg,ts=None):
        self.smsMessage = escape(msg) #urlencodes the text
        if ts is None:
            self.timestamp =  calendar.timegm(time.gmtime())
        else:
            self.timestamp = ts
        
        
    def getSignal(self):
        return self.smsMessage, self.timestamp
       
''' usage
      self.signal = Signal(self) # instantiates signal class for sending webhook data to outside server
      self.signal.setSignal("This is some url encoded ?(#(#*#  format" ,123456789)
      self.Notify.Web("http://www.tradejolt.com/wordpress/qj_sms_forwarder.php",self.signal)
'''