Ejemplo n.º 1
0
def main(argv):
    
    l_event_strategies = []

    l_event_strategies.append(es.UnderThreshold('sp5002012', 'actual_close', 9))
    #l_event_strategies.append(es.RelativeStrength('sp5002008', 'close', -5, 'SPY', 2))    
    #l_event_strategies.append(es.DailyChange('sp5002008', 'close', -10, '%'))
    #l_event_strategies.append(es.RelativeStrengthWithVolume('sp5002008', 'close', -5, 'SPY', 2))
    
    dt_start = dt.datetime(2008, 1, 1)
    dt_end = dt.datetime(2009, 12, 31)
    
    print 'AnalysisEngine : Events to Analyze:'
    i = 0
    for e in l_event_strategies:
        i += 1
        print 'AnalysisEngine : %00d   - %s' % (i, e.getName())
        
    print
    print 'AnalysisEngine : Profiling Events'
    ep.profile_events(dt_start, dt_end, l_event_strategies)
    
    print
    print 'AnalysisEngine : Simulating Orders'
    ms.simulate_orders(50000, l_event_strategies)
    
    print
    print 'AnalysisEngine : Analyzing Results'
    pa.analize_results('$SPX', l_event_strategies, dt_start, dt_end)   
Ejemplo n.º 2
0
def main(argv):

    # parameters
    s_list_name = "sp5002012"
    dt_start = dt.datetime(2008, 1, 1)
    dt_end = dt.datetime(2009, 12, 31)
    s_bench_sym = "SPY"
    i_initial_cash = 100000

    print "TechInv : Bollinger Event Study"

    # read market data
    dataobj = da.DataAccess("Yahoo")
    ls_symbols = dataobj.get_symbols_from_list(s_list_name)
    ls_symbols.append(s_bench_sym)
    d_data = get_symbol_data(dataobj, ls_symbols, dt_start, dt_end)

    # create the object that implements the strategy
    event_strategy = es.BollingerRelWeakness(s_list_name, d_data, i_initial_cash, 20)
    df_events, i_event_counter = event_strategy.find_events(ls_symbols, "close", 2.0, s_bench_sym, 1.3)

    print "EventProfiler : For the %1.1f %s event with the components of %s, we find %d events. Date Range = (%s) to (%s)." % (
        event_strategy.f_size,
        event_strategy.s_feature,
        event_strategy.s_list_name,
        i_event_counter,
        dt_start,
        dt_end,
    )

    print "TechInv : Profiling Events"
    ep.profile_event(event_strategy, ls_symbols, dt_start, dt_end, df_events, 100, 5)

    print ""
    ms.simulate_market(event_strategy)

    event_strategy.s_bench_sym = "$SPX"
    print ""
    pa.analyze_event(event_strategy, dt_start, dt_end)