# get stock prices on all the days up until this trade to_calculate = historic[(historic.index <= trade_date) & (historic.index > fund_ts.index[-1])] # multiply prices by our current shares values_by_stock = to_calculate * prev_row # for date, sym in values_by_stock.iteritems(): # print date,sym # print values_by_stock prev_row = row #update leverage ts_leverage = _calculate_leverage(values_by_stock, ts_leverage) # calculate total value and append to our fund history fund_ts = fund_ts.append([values_by_stock.sum(axis=1)]) return [fund_ts, ts_leverage] if __name__ == "__main__": filename = "Strat.csv" plot_name = "Strategy" print "load csv" [share_table, commissions, i_start_cash] = csv2fund(filename) print share_table [fund_ts, ts_leverage] = share_table2fund(share_table) print "print report" print fund_ts report.print_stats(fund_ts, ["SPY"], plot_name, directory="./" + plot_name, commissions=commissions, i_start_cash=i_start_cash) print "analyze transactions" #Generate new plot based off transactions alone analyze_transactions(filename, plot_name, share_table, True) print "done"
5, 0.02, log="transactions2.csv") df_goog = pand.DataFrame(index=df_funds.index, data=df_funds.values, columns=["FUND"]) ls_hedge_params={"Weight of Hedge" : 0.5, \ "Target Beta" : 1,\ "Type of Hedge" : "Long and Short",\ "Rebalancing" : "Weekly",\ "Number of equities" : 30, \ "Lookback period" : "365 days"} report.print_stats( df_aapl, ["$SPX", "MSFT"], "AAPL", s_fund_name="Test Portfolio", original=df_goog, s_original_name="UnHedged", d_trading_params={ "Number of trades": 200, "Trading Period": "Weekly" }, d_hedge_params=ls_hedge_params, s_comments="This is a sample report generated by tutorial 5.", commissions=f_commision, slippage=f_slippage, directory="./AAPL/") #print "Analyzing Transactions..." #csv2fund.analyze_transactions("transactions.csv","AAPL") print "Done"
# for date, sym in values_by_stock.iteritems(): # print date,sym # print values_by_stock prev_row = row #update leverage ts_leverage = _calculate_leverage(values_by_stock, ts_leverage) # calculate total value and append to our fund history fund_ts = fund_ts.append([values_by_stock.sum(axis=1)]) return [fund_ts, ts_leverage] if __name__ == "__main__": filename = "Strat.csv" plot_name = "Strategy" print("load csv") [share_table, commissions, i_start_cash] = csv2fund(filename) print(share_table) [fund_ts, ts_leverage] = share_table2fund(share_table) print("print report") print(fund_ts) report.print_stats(fund_ts, ["SPY"], plot_name, directory="./" + plot_name, commissions=commissions, i_start_cash=i_start_cash) print("analyze transactions") #Generate new plot based off transactions alone analyze_transactions(filename, plot_name, share_table, True) print("done")
ldt_timestamps = du.getNYSEdays(startday, endday, timeofday) dataobj = da.DataAccess('Yahoo') df_close = dataobj.get_data( \ ldt_timestamps, l_symbols, "close", verbose=False) df_alloc = pand.DataFrame(index=[dt.datetime(2008, 2, 1)], data=[[0.5,0.5]], columns=l_symbols) for day in ldt_timestamps: randomfloat=rgen.random() df_alloc = df_alloc.append( \ pand.DataFrame(index=[day], \ data=[[randomfloat, 1-randomfloat]], columns=l_symbols)) df_alloc['_CASH'] = 0 ''' Tests tradesim buy-on-open functionality ''' (df_funds, ts_leverage, f_commision, f_slippage) = qstksim.tradesim( df_alloc, df_close, 1000000, 1, True, 0.02, 5, 0.02, log="transactions2.csv") df_goog = pand.DataFrame(index=df_funds.index, data=df_funds.values, columns=["FUND"]) ls_hedge_params={"Weight of Hedge" : 0.5, \ "Target Beta" : 1,\ "Type of Hedge" : "Long and Short",\ "Rebalancing" : "Weekly",\ "Number of equities" : 30, \ "Lookback period" : "365 days"} report.print_stats(df_aapl, ["$SPX","MSFT"], "AAPL", s_fund_name="Test Portfolio", original=df_goog, s_original_name="UnHedged", d_trading_params={"Number of trades":200,"Trading Period":"Weekly"},d_hedge_params=ls_hedge_params, s_comments="This is a sample report generated by tutorial 5.", commissions=f_commision, slippage=f_slippage, directory="./AAPL/") #print "Analyzing Transactions..." #csv2fund.analyze_transactions("transactions.csv","AAPL") print "Done"