示例#1
0
import datetime as dt
from quant_sim.simulator import Simulator
from quant_sim.sources.yeod_source import YEOD_Source
from quant_sim.examples.example_algo import *
from quant_sim.reporting.report_library import CSV_Master_Report, CSV_ByStrat, Cheetah_Report

# Define Constants
start_dt = dt.datetime(1993, 2, 1)
end_dt = dt.datetime(2013, 9, 6)
balance = 10000
DATA = '/mnt/share2/LanahanMain/code_projects/data'
DATA = 'J:/LanahanMain/code_projects/data'
REPORT_DIR = 'J:/LanahanMain/code_projects/quant_sim/quant_sim/reporting/reports/'

# Define Data Sources
data_source = YEOD_Source(DATA + '/eod_data/')

# Initialize Simulation
sim = Simulator(start_dt, end_dt)

# Add Data
sim.add_data(('SPY', data_source.load('SPY')))
sim.add_data(('IBM', data_source.load('IBM')))
sim.add_data(('^GSPC', data_source.load('^GSPC')))
sim.add_data(('^VIX', data_source.load('^VIX')))

# Initialize calendar to simulate one
sim.set_calendar(data_source.load('SPY').keys())

# Add algorithms to simulate
sim.add_algo([
示例#2
0
    def __getitem__(self, key):
        if key in self.data and self.now_dt in self.data[key]:
            return self.data[key][self.now_dt]
        elif key in self.data and self.now_dt not in self.data[key]:
            raise Date_Not_In_History_Error(
                "'%s' not in %s data" %
                (self.now_dt.strftime('%Y-%m-%d'), key))
        else:
            raise SID_Error("'%s' not in data" % (key))


if __name__ == '__main__':
    from quant_sim.sources.yeod_source import YEOD_Source
    DATA = 'J:/LanahanMain/code_projects/data'
    data_source = YEOD_Source(DATA + '/eod_data/')
    env = Environment()
    env.set_calendar(data_source.load('SPY').keys())
    env.add_data('SPY', data_source.load('SPY'))
    env.update(dt.datetime(1993, 2, 9))
    print 0, env['SPY']
    print 1, env.get('SPY', 1)
    print 2, env.get('SPY', 2)
    #print env.get('SPY','2013-08-01','2013-07-29')
    #env.data['SPY'].pop(dt.datetime(2013,6,19))
    #print env.get('SPY','2013-06-17','2013-06-21')
    print
    print "*** testing iteration ****"
    for i, d in enumerate(env):
        print i + 1, d
示例#3
0
            if left < right:
                dates = self.calendar[left:right+1]
                return [self.data[sid].get(d,None) for d in dates]

    def __getitem__(self, key):
            if key in self.data and self.now_dt in self.data[key]:
                return self.data[key][self.now_dt]
            elif key in self.data and self.now_dt not in self.data[key]:
                raise Date_Not_In_History_Error("'%s' not in %s data"%(self.now_dt.strftime('%Y-%m-%d'), key))
            else:
                raise SID_Error("'%s' not in data"%(key))

if __name__ == '__main__':
    from quant_sim.sources.yeod_source import YEOD_Source
    DATA = 'J:/LanahanMain/code_projects/data'
    data_source = YEOD_Source(DATA+'/eod_data/')
    env= Environment()
    env.set_calendar(data_source.load('SPY').keys())
    env.add_data('SPY', data_source.load('SPY'))
    env.update(dt.datetime(1993,2,9))
    print 0,env['SPY']
    print 1,env.get('SPY',1)
    print 2,env.get('SPY',2)
    #print env.get('SPY','2013-08-01','2013-07-29')
    #env.data['SPY'].pop(dt.datetime(2013,6,19))
    #print env.get('SPY','2013-06-17','2013-06-21')
    print
    print "*** testing iteration ****"
    for i,d in enumerate(env):
        print i+1,d
    
示例#4
0
import datetime as dt
from quant_sim.simulator import Simulator
from quant_sim.sources.yeod_source import YEOD_Source
from quant_sim.examples.example_algo import *
from quant_sim.reporting.report_library import CSV_Master_Report,CSV_ByStrat, Cheetah_Report

# Define Constants
start_dt = dt.datetime(1993,2,1)
end_dt = dt.datetime(2013,9,6)
balance = 10000
DATA = '/mnt/share2/LanahanMain/code_projects/data'
DATA = 'J:/LanahanMain/code_projects/data'
REPORT_DIR = 'J:/LanahanMain/code_projects/quant_sim/quant_sim/reporting/reports/'

# Define Data Sources
data_source = YEOD_Source(DATA+'/eod_data/')

# Initialize Simulation
sim = Simulator(start_dt, end_dt)

# Add Data
sim.add_data(('SPY', data_source.load('SPY')))
sim.add_data(('IBM', data_source.load('IBM')))
sim.add_data(('^GSPC', data_source.load('^GSPC')))
sim.add_data(('^VIX', data_source.load('^VIX')))

# Initialize calendar to simulate one
sim.set_calendar(data_source.load('SPY').keys())

# Add algorithms to simulate
sim.add_algo([