start_date = '2013-02-01' # 开始日期
end_date = '2017-05-07' # 结束日期
instruments = D.instruments()
# 获取市盈率、市净率、成交额数据
history_data = D.history_data(instruments, start_date=start_date,
end_date= end_date, fields=[ 'pb_lf', 'pe_ttm','amount'])
# 该函数的目的是通过history_data这个大的原始数据,获取每日满足价值投资股票列表
def seek_symbol(df):
selected = df[(df['pb_lf'] < 1.5)
& (df['pe_ttm'] < 15)
& (df['amount'] > 0)
& (df['pb_lf'] > 0)
& (df['pe_ttm'] > 0 ) ]
# 按pe_ttm和pb_lf 升序排列
selected = selected.sort_values(['pe_ttm','pb_lf'])
return list(selected.instrument)[:30] # 记得转化成list
daily_buy_stock = history_data.groupby('date').apply(seek_symbol)
def initialize(context):
# 设置交易费用,买入是万三,卖出是千分之1.3,如果不足5元按5元算
context.set_commission(PerOrder(buy_cost=0.0003, sell_cost=0.0013, min_cost=5))
# 设置换仓规则,即每个月月初换仓,持有至下个月,再换仓
context.schedule_function(rebalance, date_rule=date_rules.month_start(days_offset=0))
# 上面schedule_function函数的这句代码,其实可以写到一行,分两行是为了便于展示
def handle_data(context,data):
pass
# 换仓
def rebalance(context, data):
# 日期
date = data.current_dt.strftime('%Y-%m-%d')
# 买入股票列表
stock_to_buy = daily_buy_stock.loc[date]
# 目前持仓列表
stock_hold_now = [equity.symbol for equity
in context.portfolio.positions]
# 继续持有股票列表
no_need_to_sell = [i for i in stock_hold_now
if i in stock_to_buy]
# 卖出股票列表
stock_to_sell = [i for i in stock_hold_now if
i not in no_need_to_sell]
# 执行卖出
for stock in stock_to_sell:
if data.can_trade(context.symbol(stock)):
context.order_target_percent(context.symbol(stock), 0)
if len(stock_to_buy) == 0:
return
# 等权重
weight = 1 / len(stock_to_buy)
# 执行买入
for cp in stock_to_buy:
if data.can_trade(context.symbol(cp)):
context.order_target_percent(context.symbol(cp), weight)
# 使用第四版的回测接口,需要传入多个策略参数
m=M.trade.v4(
instruments=instruments,
start_date=start_date,
end_date=end_date,
# 必须传入initialize,只在第一天运行
initialize=initialize,
# 必须传入handle_data,每个交易日都会运行
handle_data=handle_data,
# 买入以开盘价成交
order_price_field_buy='open',
# 卖出也以开盘价成交
order_price_field_sell='open',
# 策略本金
capital_base=1000000,
# 比较基准:沪深300
benchmark='000300.INDX',
)
[2021-08-02 11:35:38.048163] INFO: moduleinvoker: backtest.v8 开始运行..
[2021-08-02 11:35:38.053059] INFO: backtest: biglearning backtest:V8.5.0
[2021-08-02 11:35:38.054581] INFO: backtest: product_type:stock by specified
[2021-08-02 11:35:39.431552] INFO: moduleinvoker: cached.v2 开始运行..
[2021-08-02 11:35:39.438954] INFO: moduleinvoker: 命中缓存
[2021-08-02 11:35:39.440667] INFO: moduleinvoker: cached.v2 运行完成[0.009131s].
[2021-08-02 11:35:46.330879] INFO: algo: TradingAlgorithm V1.8.3
[2021-08-02 11:35:47.721359] INFO: algo: trading transform...
[2021-08-02 11:35:49.113569] INFO: algo: handle_splits get splits [dt:2013-05-17 00:00:00+00:00] [asset:Equity(2059 [600246.SHA]), ratio:0.9807161688804626]
[2021-08-02 11:35:49.115732] INFO: Position: position stock handle split[sid:2059, orig_amount:8700, new_amount:8871.0, orig_cost:3.420002542487432, new_cost:3.3541, ratio:0.9807161688804626, last_sale_price:3.559999704360962]
[2021-08-02 11:35:49.117052] INFO: Position: after split: PositionStock(asset:Equity(2059 [600246.SHA]), amount:8871.0, cost_basis:3.3541, last_sale_price:3.630000114440918)
[2021-08-02 11:35:49.118472] INFO: Position: returning cash: 0.2427
[2021-08-02 11:35:49.146256] INFO: algo: handle_splits get splits [dt:2013-05-23 00:00:00+00:00] [asset:Equity(2606 [600795.SHA]), ratio:0.9542253613471985]
[2021-08-02 11:35:49.147892] INFO: Position: position stock handle split[sid:2606, orig_amount:10300, new_amount:10794.0, orig_cost:2.8800001260297288, new_cost:2.7482, ratio:0.9542253613471985, last_sale_price:2.7099997997283936]
[2021-08-02 11:35:49.149035] INFO: Position: after split: PositionStock(asset:Equity(2606 [600795.SHA]), amount:10794.0, cost_basis:2.7482, last_sale_price:2.8399996757507324)
[2021-08-02 11:35:49.150043] INFO: Position: returning cash: 0.2597
[2021-08-02 11:35:49.195525] INFO: algo: handle_splits get splits [dt:2013-06-03 00:00:00+00:00] [asset:Equity(2237 [600000.SHA]), ratio:0.9474689960479736]
[2021-08-02 11:35:49.197169] INFO: Position: position stock handle split[sid:2237, orig_amount:3000, new_amount:3166.0, orig_cost:11.808666292933015, new_cost:11.1883, ratio:0.9474689960479736, last_sale_price:9.920001029968262]
[2021-08-02 11:35:49.198401] INFO: Position: after split: PositionStock(asset:Equity(2237 [600000.SHA]), amount:3166.0, cost_basis:11.1883, last_sale_price:10.470000267028809)
[2021-08-02 11:35:49.199511] INFO: Position: returning cash: 3.2788
[2021-08-02 11:35:49.260201] INFO: algo: handle_splits get splits [dt:2013-06-06 00:00:00+00:00] [asset:Equity(1054 [601818.SHA]), ratio:0.9806450605392456]
[2021-08-02 11:35:49.261997] INFO: Position: position stock handle split[sid:1054, orig_amount:9800, new_amount:9993.0, orig_cost:3.5983986950685987, new_cost:3.5288, ratio:0.9806450605392456, last_sale_price:3.039999485015869]
[2021-08-02 11:35:49.263328] INFO: Position: after split: PositionStock(asset:Equity(1054 [601818.SHA]), amount:9993.0, cost_basis:3.5288, last_sale_price:3.0999999046325684)
[2021-08-02 11:35:49.264343] INFO: Position: returning cash: 1.2831
[2021-08-02 11:35:49.283629] INFO: algo: handle_splits get splits [dt:2013-06-13 00:00:00+00:00] [asset:Equity(2935 [600036.SHA]), ratio:0.9521640539169312]
[2021-08-02 11:35:49.285389] INFO: Position: position stock handle split[sid:2935, orig_amount:2200, new_amount:2310.0, orig_cost:12.849999428037684, new_cost:12.2353, ratio:0.9521640539169312, last_sale_price:12.540000915527344]
[2021-08-02 11:35:49.286699] INFO: Position: after split: PositionStock(asset:Equity(2935 [600036.SHA]), amount:2310.0, cost_basis:12.2353, last_sale_price:13.170000076293945)
[2021-08-02 11:35:49.287899] INFO: Position: returning cash: 6.5986
[2021-08-02 11:35:49.304273] INFO: algo: handle_splits get splits [dt:2013-06-17 00:00:00+00:00] [asset:Equity(2755 [601107.SHA]), ratio:0.9735101461410522]
[2021-08-02 11:35:49.305872] INFO: Position: position stock handle split[sid:2755, orig_amount:9800, new_amount:10066.0, orig_cost:3.160002487172296, new_cost:3.0763, ratio:0.9735101461410522, last_sale_price:2.940000534057617]
[2021-08-02 11:35:49.306968] INFO: Position: after split: PositionStock(asset:Equity(2755 [601107.SHA]), amount:10066.0, cost_basis:3.0763, last_sale_price:3.0199999809265137)
[2021-08-02 11:35:49.307962] INFO: Position: returning cash: 1.9535
[2021-08-02 11:35:49.318074] INFO: algo: handle_splits get splits [dt:2013-06-18 00:00:00+00:00] [asset:Equity(1245 [601988.SHA]), ratio:0.9417805671691895]
[2021-08-02 11:35:49.319382] INFO: algo: handle_splits get splits [dt:2013-06-18 00:00:00+00:00] [asset:Equity(639 [600019.SHA]), ratio:0.9689576625823975]
[2021-08-02 11:35:49.320451] INFO: Position: position stock handle split[sid:1245, orig_amount:10400, new_amount:11042.0, orig_cost:3.151709056914354, new_cost:2.9682, ratio:0.9417805671691895, last_sale_price:2.7499992847442627]
[2021-08-02 11:35:49.321475] INFO: Position: after split: PositionStock(asset:Equity(1245 [601988.SHA]), amount:11042.0, cost_basis:2.9682, last_sale_price:2.9200000762939453)
[2021-08-02 11:35:49.322444] INFO: Position: returning cash: 2.5082
[2021-08-02 11:35:49.323471] INFO: Position: position stock handle split[sid:639, orig_amount:6400, new_amount:6605.0, orig_cost:5.019687703385996, new_cost:4.8639, ratio:0.9689576625823975, last_sale_price:4.369998931884766]
[2021-08-02 11:35:49.324516] INFO: Position: after split: PositionStock(asset:Equity(639 [600019.SHA]), amount:6605.0, cost_basis:4.8639, last_sale_price:4.509999752044678)
[2021-08-02 11:35:49.325518] INFO: Position: returning cash: 0.1562
[2021-08-02 11:35:49.340441] INFO: algo: handle_splits get splits [dt:2013-06-20 00:00:00+00:00] [asset:Equity(565 [000001.SZA]), ratio:0.6195425987243652]
[2021-08-02 11:35:49.341964] INFO: Position: position stock handle split[sid:565, orig_amount:1400, new_amount:2259.0, orig_cost:21.916000239569573, new_cost:13.5779, ratio:0.6195425987243652, last_sale_price:11.920001029968262]
[2021-08-02 11:35:49.343050] INFO: Position: after split: PositionStock(asset:Equity(565 [000001.SZA]), amount:2259.0, cost_basis:13.5779, last_sale_price:19.240001678466797)
[2021-08-02 11:35:49.344060] INFO: Position: returning cash: 8.7209
[2021-08-02 11:35:49.352714] INFO: algo: handle_splits get splits [dt:2013-06-21 00:00:00+00:00] [asset:Equity(2009 [601939.SHA]), ratio:0.9401326775550842]
[2021-08-02 11:35:49.354117] INFO: Position: position stock handle split[sid:2009, orig_amount:6400, new_amount:6807.0, orig_cost:5.033800275704018, new_cost:4.7324, ratio:0.9401326775550842, last_sale_price:4.2399983406066895]
[2021-08-02 11:35:49.355160] INFO: Position: after split: PositionStock(asset:Equity(2009 [601939.SHA]), amount:6807.0, cost_basis:4.7324, last_sale_price:4.509999752044678)
[2021-08-02 11:35:49.356133] INFO: Position: returning cash: 2.3311
[2021-08-02 11:35:49.364787] INFO: algo: handle_splits get splits [dt:2013-06-24 00:00:00+00:00] [asset:Equity(2063 [600012.SHA]), ratio:0.9489796161651611]
[2021-08-02 11:35:49.366048] INFO: Position: position stock handle split[sid:2063, orig_amount:7600, new_amount:8008.0, orig_cost:4.07001689080785, new_cost:3.8624, ratio:0.9489796161651611, last_sale_price:3.7200002670288086]
[2021-08-02 11:35:49.367095] INFO: Position: after split: PositionStock(asset:Equity(2063 [600012.SHA]), amount:8008.0, cost_basis:3.8624, last_sale_price:3.9200000762939453)
[2021-08-02 11:35:49.368094] INFO: Position: returning cash: 2.2392
[2021-08-02 11:35:49.383084] INFO: algo: handle_splits get splits [dt:2013-06-26 00:00:00+00:00] [asset:Equity(2141 [601398.SHA]), ratio:0.9393940567970276]
[2021-08-02 11:35:49.384483] INFO: Position: position stock handle split[sid:2141, orig_amount:7300, new_amount:7770.0, orig_cost:4.4418423934428795, new_cost:4.1726, ratio:0.9393940567970276, last_sale_price:3.720000743865967]
[2021-08-02 11:35:49.385574] INFO: Position: after split: PositionStock(asset:Equity(2141 [601398.SHA]), amount:7770.0, cost_basis:4.1726, last_sale_price:3.9600002765655518)
[2021-08-02 11:35:49.386547] INFO: Position: returning cash: 3.5964
[2021-08-02 11:35:49.401530] INFO: algo: handle_splits get splits [dt:2013-06-28 00:00:00+00:00] [asset:Equity(3160 [601288.SHA]), ratio:0.9375]
[2021-08-02 11:35:49.403141] INFO: Position: position stock handle split[sid:3160, orig_amount:11300, new_amount:12053.0, orig_cost:3.1128931144917567, new_cost:2.9183, ratio:0.9375, last_sale_price:2.3999998569488525]
[2021-08-02 11:35:49.404284] INFO: Position: after split: PositionStock(asset:Equity(3160 [601288.SHA]), amount:12053.0, cost_basis:2.9183, last_sale_price:2.559999942779541)
[2021-08-02 11:35:49.405386] INFO: Position: returning cash: 0.8
[2021-08-02 11:35:49.415038] INFO: algo: handle_splits get splits [dt:2013-07-01 00:00:00+00:00] [asset:Equity(407 [600269.SHA]), ratio:0.9489795565605164]
[2021-08-02 11:35:49.416682] INFO: Position: position stock handle split[sid:407, orig_amount:9200, new_amount:9694.0, orig_cost:3.6564134108502193, new_cost:3.4699, ratio:0.9489795565605164, last_sale_price:2.7899999618530273]
[2021-08-02 11:35:49.417865] INFO: Position: after split: PositionStock(asset:Equity(407 [600269.SHA]), amount:9694.0, cost_basis:3.4699, last_sale_price:2.940000057220459)
[2021-08-02 11:35:49.418870] INFO: Position: returning cash: 1.741
[2021-08-02 11:35:49.480582] INFO: algo: handle_splits get splits [dt:2013-07-03 00:00:00+00:00] [asset:Equity(1967 [601166.SHA]), ratio:0.6400560736656189]
[2021-08-02 11:35:49.482106] INFO: Position: position stock handle split[sid:1967, orig_amount:1800, new_amount:2812.0, orig_cost:17.00111219654534, new_cost:10.8817, ratio:0.6400560736656189, last_sale_price:9.14000129699707]
[2021-08-02 11:35:49.483208] INFO: Position: after split: PositionStock(asset:Equity(1967 [601166.SHA]), amount:2812.0, cost_basis:10.8817, last_sale_price:14.280000686645508)
[2021-08-02 11:35:49.484187] INFO: Position: returning cash: 2.3179
[2021-08-02 11:35:49.493093] INFO: algo: handle_splits get splits [dt:2013-07-04 00:00:00+00:00] [asset:Equity(1281 [601669.SHA]), ratio:0.9530681371688843]
[2021-08-02 11:35:49.494373] INFO: Position: position stock handle split[sid:1281, orig_amount:9400, new_amount:9862.0, orig_cost:3.8345309816087716, new_cost:3.6546, ratio:0.9530681371688843, last_sale_price:2.6399986743927]
[2021-08-02 11:35:49.495455] INFO: Position: after split: PositionStock(asset:Equity(1281 [601669.SHA]), amount:9862.0, cost_basis:3.6546, last_sale_price:2.7699999809265137)
[2021-08-02 11:35:49.496462] INFO: Position: returning cash: 2.3324
[2021-08-02 11:35:49.511199] INFO: algo: handle_splits get splits [dt:2013-07-08 00:00:00+00:00] [asset:Equity(391 [600741.SHA]), ratio:0.9536920785903931]
[2021-08-02 11:35:49.512746] INFO: Position: position stock handle split[sid:391, orig_amount:3400, new_amount:3565.0, orig_cost:10.104117643363033, new_cost:9.6362, ratio:0.9536920785903931, last_sale_price:7.619999885559082]
[2021-08-02 11:35:49.513956] INFO: Position: after split: PositionStock(asset:Equity(391 [600741.SHA]), amount:3565.0, cost_basis:9.6362, last_sale_price:7.990000247955322)
[2021-08-02 11:35:49.514976] INFO: Position: returning cash: 0.701
[2021-08-02 11:35:49.524330] INFO: algo: handle_splits get splits [dt:2013-07-09 00:00:00+00:00] [asset:Equity(654 [600153.SHA]), ratio:0.9765990376472473]
[2021-08-02 11:35:49.525923] INFO: Position: position stock handle split[sid:654, orig_amount:4200, new_amount:4300.0, orig_cost:6.289999623304018, new_cost:6.1428, ratio:0.9765990376472473, last_sale_price:6.2599992752075195]
[2021-08-02 11:35:49.527075] INFO: Position: after split: PositionStock(asset:Equity(654 [600153.SHA]), amount:4300.0, cost_basis:6.1428, last_sale_price:6.409999370574951)
[2021-08-02 11:35:49.528185] INFO: Position: returning cash: 4.0007
[2021-08-02 11:35:49.545896] INFO: algo: handle_splits get splits [dt:2013-07-11 00:00:00+00:00] [asset:Equity(913 [601328.SHA]), ratio:0.9413205981254578]
[2021-08-02 11:35:49.547404] INFO: algo: handle_splits get splits [dt:2013-07-11 00:00:00+00:00] [asset:Equity(2016 [600104.SHA]), ratio:0.9555225372314453]
[2021-08-02 11:35:49.548603] INFO: Position: position stock handle split[sid:913, orig_amount:6600, new_amount:7011.0, orig_cost:5.470187186726959, new_cost:5.1492, ratio:0.9413205981254578, last_sale_price:3.850001335144043]
[2021-08-02 11:35:49.549701] INFO: Position: after split: PositionStock(asset:Equity(913 [601328.SHA]), amount:7011.0, cost_basis:5.1492, last_sale_price:4.090000152587891)
[2021-08-02 11:35:49.550728] INFO: Position: returning cash: 1.6413
[2021-08-02 11:35:49.551816] INFO: Position: position stock handle split[sid:2016, orig_amount:2000, new_amount:2093.0, orig_cost:14.456500638588546, new_cost:13.8135, ratio:0.9555225372314453, last_sale_price:12.889998435974121]
[2021-08-02 11:35:49.552928] INFO: Position: after split: PositionStock(asset:Equity(2016 [600104.SHA]), amount:2093.0, cost_basis:13.8135, last_sale_price:13.489999771118164)
[2021-08-02 11:35:49.553930] INFO: Position: returning cash: 1.232
[2021-08-02 11:35:49.564006] INFO: algo: handle_splits get splits [dt:2013-07-12 00:00:00+00:00] [asset:Equity(2740 [002142.SZA]), ratio:0.9722221493721008]
[2021-08-02 11:35:49.565547] INFO: Position: position stock handle split[sid:2740, orig_amount:3100, new_amount:3188.0, orig_cost:10.455807109320348, new_cost:10.1654, ratio:0.9722221493721008, last_sale_price:8.749999046325684]
[2021-08-02 11:35:49.566674] INFO: Position: after split: PositionStock(asset:Equity(2740 [002142.SZA]), amount:3188.0, cost_basis:10.1654, last_sale_price:9.0)
[2021-08-02 11:35:49.571916] INFO: Position: returning cash: 5.0021
[2021-08-02 11:35:49.601152] INFO: algo: handle_splits get splits [dt:2013-07-18 00:00:00+00:00] [asset:Equity(488 [601998.SHA]), ratio:0.960732638835907]
[2021-08-02 11:35:49.602748] INFO: algo: handle_splits get splits [dt:2013-07-18 00:00:00+00:00] [asset:Equity(235 [601009.SHA]), ratio:0.9526013731956482]
[2021-08-02 11:35:49.603958] INFO: Position: position stock handle split[sid:488, orig_amount:7200, new_amount:7494.0, orig_cost:5.106502686663338, new_cost:4.906, ratio:0.960732638835907, last_sale_price:3.66999888420105]
[2021-08-02 11:35:49.605084] INFO: Position: after split: PositionStock(asset:Equity(488 [601998.SHA]), amount:7494.0, cost_basis:4.906, last_sale_price:3.820000171661377)
[2021-08-02 11:35:49.606146] INFO: Position: returning cash: 1.0299
[2021-08-02 11:35:49.607229] INFO: Position: position stock handle split[sid:235, orig_amount:3200, new_amount:3359.0, orig_cost:10.531818306194607, new_cost:10.0326, ratio:0.9526013731956482, last_sale_price:8.240001678466797]
[2021-08-02 11:35:49.608345] INFO: Position: after split: PositionStock(asset:Equity(235 [601009.SHA]), amount:3359.0, cost_basis:10.0326, last_sale_price:8.649999618530273)
[2021-08-02 11:35:49.609520] INFO: Position: returning cash: 1.8337
[2021-08-02 11:35:49.627571] INFO: algo: handle_splits get splits [dt:2013-07-22 00:00:00+00:00] [asset:Equity(2064 [601169.SHA]), ratio:0.9494311809539795]
[2021-08-02 11:35:49.629632] INFO: algo: handle_splits get splits [dt:2013-07-22 00:00:00+00:00] [asset:Equity(1465 [601186.SHA]), ratio:0.9757704138755798]
[2021-08-02 11:35:49.631167] INFO: Position: position stock handle split[sid:2064, orig_amount:3400, new_amount:3581.0, orig_cost:10.326037594407309, new_cost:9.8039, ratio:0.9494311809539795, last_sale_price:7.510000705718994]
[2021-08-02 11:35:49.632572] INFO: Position: after split: PositionStock(asset:Equity(2064 [601169.SHA]), amount:3581.0, cost_basis:9.8039, last_sale_price:7.909999847412109)
[2021-08-02 11:35:49.633956] INFO: Position: returning cash: 0.6877
[2021-08-02 11:35:49.635385] INFO: Position: position stock handle split[sid:1465, orig_amount:6300, new_amount:6456.0, orig_cost:5.683546043110561, new_cost:5.5458, ratio:0.9757704138755798, last_sale_price:4.429997444152832]
[2021-08-02 11:35:49.636792] INFO: Position: after split: PositionStock(asset:Equity(1465 [601186.SHA]), amount:6456.0, cost_basis:5.5458, last_sale_price:4.539999961853027)
[2021-08-02 11:35:49.638152] INFO: Position: returning cash: 1.935
[2021-08-02 11:35:49.648354] INFO: algo: handle_splits get splits [dt:2013-07-23 00:00:00+00:00] [asset:Equity(589 [600350.SHA]), ratio:0.9554796814918518]
[2021-08-02 11:35:49.649811] INFO: Position: position stock handle split[sid:589, orig_amount:9200, new_amount:9628.0, orig_cost:3.5296913391891755, new_cost:3.3725, ratio:0.9554796814918518, last_sale_price:2.7900006771087646]
[2021-08-02 11:35:49.651020] INFO: Position: after split: PositionStock(asset:Equity(589 [600350.SHA]), amount:9628.0, cost_basis:3.3725, last_sale_price:2.9200000762939453)
[2021-08-02 11:35:49.652093] INFO: Position: returning cash: 1.8735
[2021-08-02 11:35:49.662120] INFO: algo: handle_splits get splits [dt:2013-07-24 00:00:00+00:00] [asset:Equity(923 [600015.SHA]), ratio:0.7306034564971924]
[2021-08-02 11:35:49.663591] INFO: Position: position stock handle split[sid:923, orig_amount:3000, new_amount:4106.0, orig_cost:11.767655757130601, new_cost:8.5975, ratio:0.7306034564971924, last_sale_price:6.779999732971191]
[2021-08-02 11:35:49.665014] INFO: Position: after split: PositionStock(asset:Equity(923 [600015.SHA]), amount:4106.0, cost_basis:8.5975, last_sale_price:9.279999732971191)
[2021-08-02 11:35:49.666348] INFO: Position: returning cash: 1.3197
[2021-08-02 11:35:49.679362] INFO: algo: handle_splits get splits [dt:2013-07-25 00:00:00+00:00] [asset:Equity(2427 [601668.SHA]), ratio:0.9693247079849243]
[2021-08-02 11:35:49.681280] INFO: Position: position stock handle split[sid:2427, orig_amount:8200, new_amount:8459.0, orig_cost:3.6944288323435304, new_cost:3.5811, ratio:0.9693247079849243, last_sale_price:3.159998655319214]
[2021-08-02 11:35:49.682839] INFO: Position: after split: PositionStock(asset:Equity(2427 [601668.SHA]), amount:8459.0, cost_basis:3.5811, last_sale_price:3.259999990463257)
[2021-08-02 11:35:49.684292] INFO: Position: returning cash: 1.5723
[2021-08-02 11:35:49.848162] INFO: algo: handle_splits get splits [dt:2013-08-21 00:00:00+00:00] [asset:Equity(513 [601800.SHA]), ratio:0.9572443962097168]
[2021-08-02 11:35:49.849968] INFO: Position: position stock handle split[sid:513, orig_amount:6700, new_amount:6999.0, orig_cost:5.239328519426368, new_cost:5.0153, ratio:0.9572443962097168, last_sale_price:4.029998779296875]
[2021-08-02 11:35:49.851152] INFO: Position: after split: PositionStock(asset:Equity(513 [601800.SHA]), amount:6999.0, cost_basis:5.0153, last_sale_price:4.210000038146973)
[2021-08-02 11:35:49.853168] INFO: Position: returning cash: 1.0376
[2021-08-02 11:35:49.971700] INFO: algo: handle_splits get splits [dt:2013-09-05 00:00:00+00:00] [asset:Equity(2935 [600036.SHA]), ratio:0.9812383651733398]
[2021-08-02 11:35:49.973301] INFO: Position: position stock handle split[sid:2935, orig_amount:2500.0, new_amount:2547.0, orig_cost:12.13087602441675, new_cost:11.9033, ratio:0.9812383651733398, last_sale_price:10.460000991821289]
[2021-08-02 11:35:49.974644] INFO: Position: after split: PositionStock(asset:Equity(2935 [600036.SHA]), amount:2547.0, cost_basis:11.9033, last_sale_price:10.65999984741211)
[2021-08-02 11:35:49.976156] INFO: Position: returning cash: 8.3775
[2021-08-02 11:35:50.001015] INFO: algo: handle_splits get splits [dt:2013-09-10 00:00:00+00:00] [asset:Equity(3199 [600016.SHA]), ratio:0.9843137264251709]
[2021-08-02 11:35:50.002723] INFO: Position: position stock handle split[sid:3199, orig_amount:3100, new_amount:3149.0, orig_cost:8.561561972274566, new_cost:8.4273, ratio:0.9843137264251709, last_sale_price:10.039999961853027]
[2021-08-02 11:35:50.004545] INFO: Position: after split: PositionStock(asset:Equity(3199 [600016.SHA]), amount:3149.0, cost_basis:8.4273, last_sale_price:10.199999809265137)
[2021-08-02 11:35:50.006280] INFO: Position: returning cash: 4.04
[2021-08-02 11:35:50.023569] INFO: algo: handle_splits get splits [dt:2013-09-12 00:00:00+00:00] [asset:Equity(691 [600028.SHA]), ratio:0.9808102250099182]
[2021-08-02 11:35:50.025309] INFO: Position: position stock handle split[sid:691, orig_amount:2500, new_amount:2548.0, orig_cost:4.409999848874233, new_cost:4.3254, ratio:0.9808102250099182, last_sale_price:4.59999942779541]
[2021-08-02 11:35:50.026901] INFO: Position: after split: PositionStock(asset:Equity(691 [600028.SHA]), amount:2548.0, cost_basis:4.3254, last_sale_price:4.689999580383301)
[2021-08-02 11:35:50.028441] INFO: Position: returning cash: 4.2001
[2021-08-02 11:35:50.209167] INFO: algo: handle_splits get splits [dt:2013-10-23 00:00:00+00:00] [asset:Equity(1630 [600578.SHA]), ratio:0.49399036169052124]
[2021-08-02 11:35:50.210691] INFO: Position: position stock handle split[sid:1630, orig_amount:3700, new_amount:7490.0, orig_cost:7.851351645032861, new_cost:3.8785, ratio:0.49399036169052124, last_sale_price:4.109999656677246]
[2021-08-02 11:35:50.212072] INFO: Position: after split: PositionStock(asset:Equity(1630 [600578.SHA]), amount:7490.0, cost_basis:3.8785, last_sale_price:8.319999694824219)
[2021-08-02 11:35:50.213513] INFO: Position: returning cash: 0.1014
[2021-08-02 11:35:50.814742] INFO: algo: handle_splits get splits [dt:2014-02-12 00:00:00+00:00] [asset:Equity(654 [600153.SHA]), ratio:0.9683544635772705]
[2021-08-02 11:35:50.816752] INFO: Position: position stock handle split[sid:654, orig_amount:4500, new_amount:4647.0, orig_cost:7.060433758826703, new_cost:6.837, ratio:0.9683544635772705, last_sale_price:6.119999885559082]
[2021-08-02 11:35:50.818416] INFO: Position: after split: PositionStock(asset:Equity(654 [600153.SHA]), amount:4647.0, cost_basis:6.837, last_sale_price:6.319999694824219)
[2021-08-02 11:35:50.819847] INFO: Position: returning cash: 0.359
[2021-08-02 11:35:51.222146] INFO: algo: handle_splits get splits [dt:2014-04-29 00:00:00+00:00] [asset:Equity(654 [600153.SHA]), ratio:0.9563863277435303]
[2021-08-02 11:35:51.224009] INFO: Position: position stock handle split[sid:654, orig_amount:4500.0, new_amount:4705.0, orig_cost:6.808822220537756, new_cost:6.5119, ratio:0.9563863277435303, last_sale_price:6.139999866485596]
[2021-08-02 11:35:51.225300] INFO: Position: after split: PositionStock(asset:Equity(654 [600153.SHA]), amount:4705.0, cost_basis:6.5119, last_sale_price:6.419999599456787)
[2021-08-02 11:35:51.226710] INFO: Position: returning cash: 1.2989
[2021-08-02 11:35:51.303021] INFO: algo: handle_splits get splits [dt:2014-05-08 00:00:00+00:00] [asset:Equity(1280 [000002.SZA]), ratio:0.9479033946990967]
[2021-08-02 11:35:51.304553] INFO: Position: position stock handle split[sid:1280, orig_amount:3800, new_amount:4008.0, orig_cost:8.2946618862793, new_cost:7.8625, ratio:0.9479033946990967, last_sale_price:7.460000038146973]
[2021-08-02 11:35:51.305793] INFO: Position: after split: PositionStock(asset:Equity(1280 [000002.SZA]), amount:4008.0, cost_basis:7.8625, last_sale_price:7.87000036239624)
[2021-08-02 11:35:51.306865] INFO: Position: returning cash: 6.3211
[2021-08-02 11:35:51.346758] INFO: algo: handle_splits get splits [dt:2014-05-16 00:00:00+00:00] [asset:Equity(2189 [000402.SZA]), ratio:0.9581239223480225]
[2021-08-02 11:35:51.348371] INFO: Position: position stock handle split[sid:2189, orig_amount:5700, new_amount:5949.0, orig_cost:5.110000137047848, new_cost:4.896, ratio:0.9581239223480225, last_sale_price:5.720000267028809]
[2021-08-02 11:35:51.349938] INFO: Position: after split: PositionStock(asset:Equity(2189 [000402.SZA]), amount:5949.0, cost_basis:4.896, last_sale_price:5.970000267028809)
[2021-08-02 11:35:51.351512] INFO: Position: returning cash: 0.7211
[2021-08-02 11:35:51.389262] INFO: algo: handle_splits get splits [dt:2014-05-22 00:00:00+00:00] [asset:Equity(54 [600048.SHA]), ratio:0.6405835747718811]
[2021-08-02 11:35:51.391089] INFO: Position: position stock handle split[sid:54, orig_amount:4000, new_amount:6244.0, orig_cost:8.380071503276648, new_cost:5.3681, ratio:0.6405835747718811, last_sale_price:4.830000400543213]
[2021-08-02 11:35:51.392459] INFO: Position: after split: PositionStock(asset:Equity(54 [600048.SHA]), amount:6244.0, cost_basis:5.3681, last_sale_price:7.5400004386901855)
[2021-08-02 11:35:51.393697] INFO: Position: returning cash: 1.479
[2021-08-02 11:35:51.583006] INFO: algo: handle_splits get splits [dt:2014-06-12 00:00:00+00:00] [asset:Equity(3270 [002244.SZA]), ratio:0.9818481206893921]
[2021-08-02 11:35:51.584856] INFO: Position: position stock handle split[sid:3270, orig_amount:4900, new_amount:4990.0, orig_cost:6.233877554498565, new_cost:6.1207, ratio:0.9818481206893921, last_sale_price:5.9499993324279785]
[2021-08-02 11:35:51.586211] INFO: Position: after split: PositionStock(asset:Equity(3270 [002244.SZA]), amount:4990.0, cost_basis:6.1207, last_sale_price:6.059999942779541)
[2021-08-02 11:35:51.587428] INFO: Position: returning cash: 3.5019
[2021-08-02 11:35:51.620394] INFO: algo: handle_splits get splits [dt:2014-06-17 00:00:00+00:00] [asset:Equity(180 [600027.SHA]), ratio:0.9331304430961609]
[2021-08-02 11:35:51.622186] INFO: algo: handle_splits get splits [dt:2014-06-17 00:00:00+00:00] [asset:Equity(2427 [601668.SHA]), ratio:0.9533335566520691]
[2021-08-02 11:35:51.623689] INFO: Position: position stock handle split[sid:180, orig_amount:9300, new_amount:9966.0, orig_cost:3.277138362962343, new_cost:3.058, ratio:0.9331304430961609, last_sale_price:3.0699992179870605]
[2021-08-02 11:35:51.625132] INFO: Position: after split: PositionStock(asset:Equity(180 [600027.SHA]), amount:9966.0, cost_basis:3.058, last_sale_price:3.2899999618530273)
[2021-08-02 11:35:51.626503] INFO: Position: returning cash: 1.3884
[2021-08-02 11:35:51.627985] INFO: Position: position stock handle split[sid:2427, orig_amount:9900.0, new_amount:10384.0, orig_cost:3.481399001499574, new_cost:3.3189, ratio:0.9533335566520691, last_sale_price:2.8600003719329834]
[2021-08-02 11:35:51.629387] INFO: Position: after split: PositionStock(asset:Equity(2427 [601668.SHA]), amount:10384.0, cost_basis:3.3189, last_sale_price:2.999999761581421)
[2021-08-02 11:35:51.630759] INFO: Position: returning cash: 1.753
[2021-08-02 11:35:51.662582] INFO: algo: handle_splits get splits [dt:2014-06-20 00:00:00+00:00] [asset:Equity(2141 [601398.SHA]), ratio:0.9299193024635315]
[2021-08-02 11:35:51.664275] INFO: Position: position stock handle split[sid:2141, orig_amount:8300.0, new_amount:8925.0, orig_cost:4.057815615385069, new_cost:3.7734, ratio:0.9299193024635315, last_sale_price:3.450000762939453]
[2021-08-02 11:35:51.665644] INFO: Position: after split: PositionStock(asset:Equity(2141 [601398.SHA]), amount:8925.0, cost_basis:3.7734, last_sale_price:3.7100002765655518)
[2021-08-02 11:35:51.666910] INFO: Position: returning cash: 1.7445
[2021-08-02 11:35:51.687512] INFO: algo: handle_splits get splits [dt:2014-06-24 00:00:00+00:00] [asset:Equity(2237 [600000.SHA]), ratio:0.9316770434379578]
[2021-08-02 11:35:51.689208] INFO: Position: position stock handle split[sid:2237, orig_amount:3100.0, new_amount:3327.0, orig_cost:10.708106652731686, new_cost:9.9765, ratio:0.9316770434379578, last_sale_price:9.0]
[2021-08-02 11:35:51.690565] INFO: Position: after split: PositionStock(asset:Equity(2237 [600000.SHA]), amount:3327.0, cost_basis:9.9765, last_sale_price:9.65999984741211)
[2021-08-02 11:35:51.691779] INFO: Position: returning cash: 2.9992
[2021-08-02 11:35:51.704518] INFO: algo: handle_splits get splits [dt:2014-06-25 00:00:00+00:00] [asset:Equity(3199 [600016.SHA]), ratio:0.8223684430122375]
[2021-08-02 11:35:51.706346] INFO: Position: position stock handle split[sid:3199, orig_amount:4000, new_amount:4863.0, orig_cost:8.974894916365114, new_cost:7.3807, ratio:0.8223684430122375, last_sale_price:6.25]
[2021-08-02 11:35:51.707900] INFO: Position: after split: PositionStock(asset:Equity(3199 [600016.SHA]), amount:4863.0, cost_basis:7.3807, last_sale_price:7.599999904632568)
[2021-08-02 11:35:51.709239] INFO: Position: returning cash: 6.2492
[2021-08-02 11:35:51.732230] INFO: algo: handle_splits get splits [dt:2014-06-27 00:00:00+00:00] [asset:Equity(1245 [601988.SHA]), ratio:0.9277976155281067]
[2021-08-02 11:35:51.734310] INFO: Position: position stock handle split[sid:1245, orig_amount:11000.0, new_amount:11856.0, orig_cost:2.917059875717269, new_cost:2.7064, ratio:0.9277976155281067, last_sale_price:2.5699994564056396]
[2021-08-02 11:35:51.735874] INFO: Position: after split: PositionStock(asset:Equity(1245 [601988.SHA]), amount:11856.0, cost_basis:2.7064, last_sale_price:2.7699999809265137)
[2021-08-02 11:35:51.737271] INFO: Position: returning cash: 0.0872
[2021-08-02 11:35:51.750898] INFO: algo: handle_splits get splits [dt:2014-06-30 00:00:00+00:00] [asset:Equity(3103 [600805.SHA]), ratio:0.9839056134223938]
[2021-08-02 11:35:51.752573] INFO: Position: position stock handle split[sid:3103, orig_amount:3300, new_amount:3353.0, orig_cost:9.24000013187394, new_cost:9.0913, ratio:0.9839056134223938, last_sale_price:9.170000076293945]
[2021-08-02 11:35:51.753944] INFO: Position: after split: PositionStock(asset:Equity(3103 [600805.SHA]), amount:3353.0, cost_basis:9.0913, last_sale_price:9.319999694824219)
[2021-08-02 11:35:51.755163] INFO: Position: returning cash: 8.9889
[2021-08-02 11:35:51.792196] INFO: algo: handle_splits get splits [dt:2014-07-02 00:00:00+00:00] [asset:Equity(513 [601800.SHA]), ratio:0.9493336081504822]
[2021-08-02 11:35:51.794091] INFO: Position: position stock handle split[sid:513, orig_amount:8000.0, new_amount:8426.0, orig_cost:4.84366352882078, new_cost:4.5983, ratio:0.9493336081504822, last_sale_price:3.5600011348724365]
[2021-08-02 11:35:51.795215] INFO: Position: after split: PositionStock(asset:Equity(513 [601800.SHA]), amount:8426.0, cost_basis:4.5983, last_sale_price:3.75)
[2021-08-02 11:35:51.796228] INFO: Position: returning cash: 3.4313
[2021-08-02 11:35:51.828617] INFO: algo: handle_splits get splits [dt:2014-07-03 00:00:00+00:00] [asset:Equity(3160 [601288.SHA]), ratio:0.9285714030265808]
[2021-08-02 11:35:51.830294] INFO: Position: position stock handle split[sid:3160, orig_amount:11900.0, new_amount:12815.0, orig_cost:2.836450372880832, new_cost:2.6338, ratio:0.9285714030265808, last_sale_price:2.3399999141693115]
[2021-08-02 11:35:51.831601] INFO: Position: after split: PositionStock(asset:Equity(3160 [601288.SHA]), amount:12815.0, cost_basis:2.6338, last_sale_price:2.5199999809265137)
[2021-08-02 11:35:51.832783] INFO: Position: returning cash: 0.9008
[2021-08-02 11:35:51.843698] INFO: algo: handle_splits get splits [dt:2014-07-04 00:00:00+00:00] [asset:Equity(1281 [601669.SHA]), ratio:0.9498207569122314]
[2021-08-02 11:35:51.845123] INFO: algo: handle_splits get splits [dt:2014-07-04 00:00:00+00:00] [asset:Equity(2510 [000543.SZA]), ratio:0.9545455574989319]
[2021-08-02 11:35:51.846235] INFO: Position: position stock handle split[sid:1281, orig_amount:10900, new_amount:11475.0, orig_cost:2.7674311922319688, new_cost:2.6286, ratio:0.9498207569122314, last_sale_price:2.6499998569488525]
[2021-08-02 11:35:51.847308] INFO: Position: after split: PositionStock(asset:Equity(1281 [601669.SHA]), amount:11475.0, cost_basis:2.6286, last_sale_price:2.7899999618530273)
[2021-08-02 11:35:51.848345] INFO: Position: returning cash: 2.251
[2021-08-02 11:35:51.849398] INFO: Position: position stock handle split[sid:2510, orig_amount:4600, new_amount:4819.0, orig_cost:6.470000751564386, new_cost:6.1759, ratio:0.9545455574989319, last_sale_price:6.3000006675720215]
[2021-08-02 11:35:51.850425] INFO: Position: after split: PositionStock(asset:Equity(2510 [000543.SZA]), amount:4819.0, cost_basis:6.1759, last_sale_price:6.599999904632568)
[2021-08-02 11:35:51.851402] INFO: Position: returning cash: 0.2967
[2021-08-02 11:35:51.861174] INFO: algo: handle_splits get splits [dt:2014-07-07 00:00:00+00:00] [asset:Equity(2408 [600755.SHA]), ratio:0.9711340069770813]
[2021-08-02 11:35:51.862469] INFO: Position: position stock handle split[sid:2408, orig_amount:1700, new_amount:1750.0, orig_cost:4.990000263268475, new_cost:4.846, ratio:0.9711340069770813, last_sale_price:4.710000038146973]
[2021-08-02 11:35:51.863524] INFO: Position: after split: PositionStock(asset:Equity(2408 [600755.SHA]), amount:1750.0, cost_basis:4.846, last_sale_price:4.849999904632568)
[2021-08-02 11:35:51.864541] INFO: Position: returning cash: 2.5001
[2021-08-02 11:35:51.887523] INFO: algo: handle_splits get splits [dt:2014-07-10 00:00:00+00:00] [asset:Equity(923 [600015.SHA]), ratio:0.9470443725585938]
[2021-08-02 11:35:51.888958] INFO: algo: handle_splits get splits [dt:2014-07-10 00:00:00+00:00] [asset:Equity(2009 [601939.SHA]), ratio:0.9285711646080017]
[2021-08-02 11:35:51.890063] INFO: Position: position stock handle split[sid:923, orig_amount:3600.0, new_amount:3801.0, orig_cost:8.580972206328296, new_cost:8.1266, ratio:0.9470443725585938, last_sale_price:7.690000057220459]
[2021-08-02 11:35:51.891078] INFO: Position: after split: PositionStock(asset:Equity(923 [600015.SHA]), amount:3801.0, cost_basis:8.1266, last_sale_price:8.119999885559082)
[2021-08-02 11:35:51.892029] INFO: Position: returning cash: 2.3088
[2021-08-02 11:35:51.893041] INFO: Position: position stock handle split[sid:2009, orig_amount:7300.0, new_amount:7861.0, orig_cost:4.60682030872961, new_cost:4.2778, ratio:0.9285711646080017, last_sale_price:3.899998664855957]
[2021-08-02 11:35:51.894046] INFO: Position: after split: PositionStock(asset:Equity(2009 [601939.SHA]), amount:7861.0, cost_basis:4.2778, last_sale_price:4.199999809265137)
[2021-08-02 11:35:51.895017] INFO: Position: returning cash: 2.1087
[2021-08-02 11:35:51.907455] INFO: algo: handle_splits get splits [dt:2014-07-11 00:00:00+00:00] [asset:Equity(913 [601328.SHA]), ratio:0.9333333969116211]
[2021-08-02 11:35:51.908789] INFO: algo: handle_splits get splits [dt:2014-07-11 00:00:00+00:00] [asset:Equity(2740 [002142.SZA]), ratio:0.9560439586639404]
[2021-08-02 11:35:51.909836] INFO: algo: handle_splits get splits [dt:2014-07-11 00:00:00+00:00] [asset:Equity(2935 [600036.SHA]), ratio:0.9395710825920105]
[2021-08-02 11:35:51.910917] INFO: Position: position stock handle split[sid:913, orig_amount:7700.0, new_amount:8249.0, orig_cost:4.931259370569413, new_cost:4.6025, ratio:0.9333333969116211, last_sale_price:3.640000343322754]
[2021-08-02 11:35:51.911928] INFO: Position: after split: PositionStock(asset:Equity(913 [601328.SHA]), amount:8249.0, cost_basis:4.6025, last_sale_price:3.9000000953674316)
[2021-08-02 11:35:51.912915] INFO: Position: returning cash: 3.638
[2021-08-02 11:35:51.913949] INFO: Position: position stock handle split[sid:2740, orig_amount:3200.0, new_amount:3347.0, orig_cost:10.033128182311735, new_cost:9.5921, ratio:0.9560439586639404, last_sale_price:8.699999809265137]
[2021-08-02 11:35:51.914989] INFO: Position: after split: PositionStock(asset:Equity(2740 [002142.SZA]), amount:3347.0, cost_basis:9.5921, last_sale_price:9.09999942779541)
[2021-08-02 11:35:51.915993] INFO: Position: returning cash: 1.0999
[2021-08-02 11:35:51.917069] INFO: Position: position stock handle split[sid:2935, orig_amount:2900.0, new_amount:3086.0, orig_cost:11.625922854718402, new_cost:10.9234, ratio:0.9395710825920105, last_sale_price:9.639999389648438]
[2021-08-02 11:35:51.918149] INFO: Position: after split: PositionStock(asset:Equity(2935 [600036.SHA]), amount:3086.0, cost_basis:10.9234, last_sale_price:10.260000228881836)
[2021-08-02 11:35:51.919141] INFO: Position: returning cash: 4.9621
[2021-08-02 11:35:51.951913] INFO: algo: handle_splits get splits [dt:2014-07-17 00:00:00+00:00] [asset:Equity(2064 [601169.SHA]), ratio:0.8148598074913025]
[2021-08-02 11:35:51.953398] INFO: algo: handle_splits get splits [dt:2014-07-17 00:00:00+00:00] [asset:Equity(1054 [601818.SHA]), ratio:0.9335934519767761]
[2021-08-02 11:35:51.954585] INFO: algo: handle_splits get splits [dt:2014-07-17 00:00:00+00:00] [asset:Equity(488 [601998.SHA]), ratio:0.9419950246810913]
[2021-08-02 11:35:51.955958] INFO: Position: position stock handle split[sid:2064, orig_amount:3700.0, new_amount:4540.0, orig_cost:9.544023251025564, new_cost:7.777, ratio:0.8148598074913025, last_sale_price:6.689999103546143]
[2021-08-02 11:35:51.957224] INFO: Position: after split: PositionStock(asset:Equity(2064 [601169.SHA]), amount:4540.0, cost_basis:7.777, last_sale_price:8.210000038146973)
[2021-08-02 11:35:51.958421] INFO: Position: returning cash: 4.4045
[2021-08-02 11:35:51.959686] INFO: Position: position stock handle split[sid:1054, orig_amount:11800.0, new_amount:12639.0, orig_cost:3.2971982442587326, new_cost:3.0782, ratio:0.9335934519767761, last_sale_price:2.3899991512298584]
[2021-08-02 11:35:51.960951] INFO: Position: after split: PositionStock(asset:Equity(1054 [601818.SHA]), amount:12639.0, cost_basis:3.0782, last_sale_price:2.559999942779541)
[2021-08-02 11:35:51.962211] INFO: Position: returning cash: 0.7996
[2021-08-02 11:35:51.963473] INFO: Position: position stock handle split[sid:488, orig_amount:7000, new_amount:7431.0, orig_cost:4.598999885427257, new_cost:4.3322, ratio:0.9419950246810913, last_sale_price:4.059998512268066]
[2021-08-02 11:35:51.964708] INFO: Position: after split: PositionStock(asset:Equity(488 [601998.SHA]), amount:7431.0, cost_basis:4.3322, last_sale_price:4.309999942779541)
[2021-08-02 11:35:51.965943] INFO: Position: returning cash: 0.1507
[2021-08-02 11:35:51.976393] INFO: algo: handle_splits get splits [dt:2014-07-18 00:00:00+00:00] [asset:Equity(1967 [601166.SHA]), ratio:0.9533940553665161]
[2021-08-02 11:35:51.978055] INFO: Position: position stock handle split[sid:1967, orig_amount:3000.0, new_amount:3146.0, orig_cost:10.70221773570184, new_cost:10.2034, ratio:0.9533940553665161, last_sale_price:9.40999984741211]
[2021-08-02 11:35:51.979445] INFO: Position: after split: PositionStock(asset:Equity(1967 [601166.SHA]), amount:3146.0, cost_basis:10.2034, last_sale_price:9.870000839233398)
[2021-08-02 11:35:51.980704] INFO: Position: returning cash: 6.1421
[2021-08-02 11:35:52.018170] INFO: algo: handle_splits get splits [dt:2014-07-25 00:00:00+00:00] [asset:Equity(235 [601009.SHA]), ratio:0.9445784091949463]
[2021-08-02 11:35:52.019665] INFO: Position: position stock handle split[sid:235, orig_amount:3700.0, new_amount:3917.0, orig_cost:9.76042710956207, new_cost:9.2195, ratio:0.9445784091949463, last_sale_price:7.840001106262207]
[2021-08-02 11:35:52.020885] INFO: Position: after split: PositionStock(asset:Equity(235 [601009.SHA]), amount:3917.0, cost_basis:9.2195, last_sale_price:8.300000190734863)
[2021-08-02 11:35:52.021928] INFO: Position: returning cash: 0.7169
[2021-08-02 11:35:52.031887] INFO: algo: handle_splits get splits [dt:2014-07-28 00:00:00+00:00] [asset:Equity(1465 [601186.SHA]), ratio:0.9741554856300354]
[2021-08-02 11:35:52.033402] INFO: Position: position stock handle split[sid:1465, orig_amount:6500, new_amount:6672.0, orig_cost:4.7079882739191286, new_cost:4.5863, ratio:0.9741554856300354, last_sale_price:4.9000020027160645]
[2021-08-02 11:35:52.034574] INFO: Position: after split: PositionStock(asset:Equity(1465 [601186.SHA]), amount:6672.0, cost_basis:4.5863, last_sale_price:5.029999732971191)
[2021-08-02 11:35:52.035617] INFO: Position: returning cash: 2.186
[2021-08-02 11:35:52.127142] INFO: algo: handle_splits get splits [dt:2014-08-06 00:00:00+00:00] [asset:Equity(3314 [601390.SHA]), ratio:0.9763510823249817]
[2021-08-02 11:35:52.128929] INFO: Position: position stock handle split[sid:3314, orig_amount:11600, new_amount:11880.0, orig_cost:2.7045535204515, new_cost:2.6406, ratio:0.9763510823249817, last_sale_price:2.8899991512298584]
[2021-08-02 11:35:52.130358] INFO: Position: after split: PositionStock(asset:Equity(3314 [601390.SHA]), amount:11880.0, cost_basis:2.6406, last_sale_price:2.9600000381469727)
[2021-08-02 11:35:52.131769] INFO: Position: returning cash: 2.8095
[2021-08-02 11:35:52.149865] INFO: algo: handle_splits get splits [dt:2014-08-08 00:00:00+00:00] [asset:Equity(3073 [000056.SZA]), ratio:0.8335800766944885]
[2021-08-02 11:35:52.151690] INFO: Position: position stock handle split[sid:3073, orig_amount:2200, new_amount:2639.0, orig_cost:13.604092972879727, new_cost:11.3401, ratio:0.8335800766944885, last_sale_price:11.270003318786621]
[2021-08-02 11:35:52.153248] INFO: Position: after split: PositionStock(asset:Equity(3073 [000056.SZA]), amount:2639.0, cost_basis:11.3401, last_sale_price:13.520000457763672)
[2021-08-02 11:35:52.154533] INFO: Position: returning cash: 2.463
[2021-08-02 11:35:53.841297] INFO: algo: handle_splits get splits [dt:2015-04-13 00:00:00+00:00] [asset:Equity(565 [000001.SZA]), ratio:0.8262626528739929]
[2021-08-02 11:35:53.843122] INFO: Position: position stock handle split[sid:565, orig_amount:6500, new_amount:7866.0, orig_cost:13.693854764689476, new_cost:11.3147, ratio:0.8262626528739929, last_sale_price:16.360000610351562]
[2021-08-02 11:35:53.844481] INFO: Position: after split: PositionStock(asset:Equity(565 [000001.SZA]), amount:7866.0, cost_basis:11.3147, last_sale_price:19.799999237060547)
[2021-08-02 11:35:53.845697] INFO: Position: returning cash: 12.2359
[2021-08-02 11:35:54.035593] INFO: algo: handle_splits get splits [dt:2015-05-27 00:00:00+00:00] [asset:Equity(1967 [601166.SHA]), ratio:0.9716136455535889]
[2021-08-02 11:35:54.037286] INFO: Position: position stock handle split[sid:1967, orig_amount:8300.0, new_amount:8542.0, orig_cost:15.628502885254116, new_cost:15.1849, ratio:0.9716136455535889, last_sale_price:19.51000213623047]
[2021-08-02 11:35:54.038516] INFO: Position: after split: PositionStock(asset:Equity(1967 [601166.SHA]), amount:8542.0, cost_basis:15.1849, last_sale_price:20.079999923706055)
[2021-08-02 11:35:54.040571] INFO: Position: returning cash: 9.5629
[2021-08-02 11:35:54.082666] INFO: algo: handle_splits get splits [dt:2015-06-03 00:00:00+00:00] [asset:Equity(913 [601328.SHA]), ratio:0.963807225227356]
[2021-08-02 11:35:54.084117] INFO: algo: handle_splits get splits [dt:2015-06-03 00:00:00+00:00] [asset:Equity(1054 [601818.SHA]), ratio:0.9668988585472107]
[2021-08-02 11:35:54.085415] INFO: Position: position stock handle split[sid:913, orig_amount:23000.0, new_amount:23863.0, orig_cost:6.187654896713366, new_cost:5.9637, ratio:0.963807225227356, last_sale_price:7.190001964569092]
[2021-08-02 11:35:54.086591] INFO: Position: after split: PositionStock(asset:Equity(913 [601328.SHA]), amount:23863.0, cost_basis:5.9637, last_sale_price:7.460000038146973)
[2021-08-02 11:35:54.087787] INFO: Position: returning cash: 4.9847
[2021-08-02 11:35:54.088899] INFO: Position: position stock handle split[sid:1054, orig_amount:31600.0, new_amount:32681.0, orig_cost:4.541606117795633, new_cost:4.3913, ratio:0.9668988585472107, last_sale_price:5.549999713897705]
[2021-08-02 11:35:54.090001] INFO: Position: after split: PositionStock(asset:Equity(1054 [601818.SHA]), amount:32681.0, cost_basis:4.3913, last_sale_price:5.740000247955322)
[2021-08-02 11:35:54.091035] INFO: Position: returning cash: 4.468
[2021-08-02 11:35:54.145517] INFO: algo: handle_splits get splits [dt:2015-06-23 00:00:00+00:00] [asset:Equity(2237 [600000.SHA]), ratio:0.9554774761199951]
[2021-08-02 11:35:54.147021] INFO: Position: position stock handle split[sid:2237, orig_amount:9600.0, new_amount:10047.0, orig_cost:15.025568140889645, new_cost:14.3566, ratio:0.9554774761199951, last_sale_price:16.309999465942383]
[2021-08-02 11:35:54.148246] INFO: Position: after split: PositionStock(asset:Equity(2237 [600000.SHA]), amount:10047.0, cost_basis:14.3566, last_sale_price:17.06999969482422)
[2021-08-02 11:35:54.149391] INFO: Position: returning cash: 5.4248
[2021-08-02 11:35:54.175556] INFO: algo: handle_splits get splits [dt:2015-07-01 00:00:00+00:00] [asset:Equity(2009 [601939.SHA]), ratio:0.9579240679740906]
[2021-08-02 11:35:54.177119] INFO: Position: position stock handle split[sid:2009, orig_amount:25800.0, new_amount:26933.0, orig_cost:5.937932051048412, new_cost:5.6881, ratio:0.9579240679740906, last_sale_price:6.82999849319458]
[2021-08-02 11:35:54.178303] INFO: Position: after split: PositionStock(asset:Equity(2009 [601939.SHA]), amount:26933.0, cost_basis:5.6881, last_sale_price:7.130000114440918)
[2021-08-02 11:35:54.179319] INFO: Position: returning cash: 1.6476
[2021-08-02 11:35:54.220757] INFO: algo: handle_splits get splits [dt:2015-07-03 00:00:00+00:00] [asset:Equity(1245 [601988.SHA]), ratio:0.9620756506919861]
[2021-08-02 11:35:54.222952] INFO: algo: handle_splits get splits [dt:2015-07-03 00:00:00+00:00] [asset:Equity(2935 [600036.SHA]), ratio:0.964074969291687]
[2021-08-02 11:35:54.224654] INFO: Position: position stock handle split[sid:1245, orig_amount:24400.0, new_amount:25361.0, orig_cost:4.126255227681273, new_cost:3.9698, ratio:0.9620756506919861, last_sale_price:4.819998741149902]
[2021-08-02 11:35:54.226255] INFO: Position: after split: PositionStock(asset:Equity(1245 [601988.SHA]), amount:25361.0, cost_basis:3.9698, last_sale_price:5.009999752044678)
[2021-08-02 11:35:54.227655] INFO: Position: returning cash: 4.0051
[2021-08-02 11:35:54.229144] INFO: Position: position stock handle split[sid:2935, orig_amount:6300.0, new_amount:6534.0, orig_cost:15.102411854157392, new_cost:14.5599, ratio:0.964074969291687, last_sale_price:17.979997634887695]
[2021-08-02 11:35:54.230555] INFO: Position: after split: PositionStock(asset:Equity(2935 [600036.SHA]), amount:6534.0, cost_basis:14.5599, last_sale_price:18.649999618530273)
[2021-08-02 11:35:54.231956] INFO: Position: returning cash: 13.6919
[2021-08-02 11:35:54.252603] INFO: algo: handle_splits get splits [dt:2015-07-07 00:00:00+00:00] [asset:Equity(2141 [601398.SHA]), ratio:0.9550951719284058]
[2021-08-02 11:35:54.254466] INFO: algo: handle_splits get splits [dt:2015-07-07 00:00:00+00:00] [asset:Equity(3199 [600016.SHA]), ratio:0.9888437986373901]
[2021-08-02 11:35:54.256002] INFO: Position: position stock handle split[sid:2141, orig_amount:22500.0, new_amount:23557.0, orig_cost:4.796692179116662, new_cost:4.5813, ratio:0.9550951719284058, last_sale_price:5.530001640319824]
[2021-08-02 11:35:54.257439] INFO: Position: after split: PositionStock(asset:Equity(2141 [601398.SHA]), amount:23557.0, cost_basis:4.5813, last_sale_price:5.7900004386901855)
[2021-08-02 11:35:54.258812] INFO: Position: returning cash: 4.7654
[2021-08-02 11:35:54.260292] INFO: Position: position stock handle split[sid:3199, orig_amount:12100, new_amount:12236.0, orig_cost:9.895301589206571, new_cost:9.7849, ratio:0.9888437986373901, last_sale_price:9.749999046325684]
[2021-08-02 11:35:54.261682] INFO: Position: after split: PositionStock(asset:Equity(3199 [600016.SHA]), amount:12236.0, cost_basis:9.7849, last_sale_price:9.859999656677246)
[2021-08-02 11:35:54.263030] INFO: Position: returning cash: 5.0018
[2021-08-02 11:35:54.274491] INFO: algo: handle_splits get splits [dt:2015-07-08 00:00:00+00:00] [asset:Equity(923 [600015.SHA]), ratio:0.8110908269882202]
[2021-08-02 11:35:54.276236] INFO: Position: position stock handle split[sid:923, orig_amount:7800.0, new_amount:9616.0, orig_cost:12.484441972385145, new_cost:10.126, ratio:0.8110908269882202, last_sale_price:13.3100004196167]
[2021-08-02 11:35:54.277697] INFO: Position: after split: PositionStock(asset:Equity(923 [600015.SHA]), amount:9616.0, cost_basis:10.126, last_sale_price:16.40999984741211)
[2021-08-02 11:35:54.279024] INFO: Position: returning cash: 9.0355
[2021-08-02 11:35:54.293853] INFO: algo: handle_splits get splits [dt:2015-07-10 00:00:00+00:00] [asset:Equity(3160 [601288.SHA]), ratio:0.9564166069030762]
[2021-08-02 11:35:54.295232] INFO: Position: position stock handle split[sid:3160, orig_amount:32300.0, new_amount:33771.0, orig_cost:3.5089928548010616, new_cost:3.3561, ratio:0.9564166069030762, last_sale_price:3.950000286102295]
[2021-08-02 11:35:54.296340] INFO: Position: after split: PositionStock(asset:Equity(3160 [601288.SHA]), amount:33771.0, cost_basis:3.3561, last_sale_price:4.12999963760376)
[2021-08-02 11:35:54.297311] INFO: Position: returning cash: 3.5302
[2021-08-02 11:35:54.323212] INFO: algo: handle_splits get splits [dt:2015-07-17 00:00:00+00:00] [asset:Equity(2064 [601169.SHA]), ratio:0.8168240785598755]
[2021-08-02 11:35:54.324630] INFO: Position: position stock handle split[sid:2064, orig_amount:9100.0, new_amount:11140.0, orig_cost:10.791344168998167, new_cost:8.8146, ratio:0.8168240785598755, last_sale_price:10.39000129699707]
[2021-08-02 11:35:54.325721] INFO: Position: after split: PositionStock(asset:Equity(2064 [601169.SHA]), amount:11140.0, cost_basis:8.8146, last_sale_price:12.719999313354492)
[2021-08-02 11:35:54.326695] INFO: Position: returning cash: 7.3746
[2021-08-02 11:35:54.343003] INFO: algo: handle_splits get splits [dt:2015-07-22 00:00:00+00:00] [asset:Equity(2016 [600104.SHA]), ratio:0.9469171166419983]
[2021-08-02 11:35:54.344493] INFO: Position: position stock handle split[sid:2016, orig_amount:5300, new_amount:5597.0, orig_cost:21.789999015596806, new_cost:20.6333, ratio:0.9469171166419983, last_sale_price:23.190000534057617]
[2021-08-02 11:35:54.345588] INFO: Position: after split: PositionStock(asset:Equity(2016 [600104.SHA]), amount:5597.0, cost_basis:20.6333, last_sale_price:24.489999771118164)
[2021-08-02 11:35:54.346570] INFO: Position: returning cash: 2.569
[2021-08-02 11:35:54.486792] INFO: algo: handle_splits get splits [dt:2015-08-20 00:00:00+00:00] [asset:Equity(3432 [000338.SZA]), ratio:0.4969349801540375]
[2021-08-02 11:35:54.488354] INFO: Position: position stock handle split[sid:3432, orig_amount:4000, new_amount:8049.0, orig_cost:22.100000446457706, new_cost:10.9823, ratio:0.4969349801540375, last_sale_price:12.15999984741211]
[2021-08-02 11:35:54.489487] INFO: Position: after split: PositionStock(asset:Equity(3432 [000338.SZA]), amount:8049.0, cost_basis:10.9823, last_sale_price:24.470001220703125)
[2021-08-02 11:35:54.490509] INFO: Position: returning cash: 4.1683
[2021-08-02 11:35:54.680359] INFO: algo: handle_splits get splits [dt:2015-09-23 00:00:00+00:00] [asset:Equity(235 [601009.SHA]), ratio:0.9680511355400085]
[2021-08-02 11:35:54.681927] INFO: Position: position stock handle split[sid:235, orig_amount:3900, new_amount:4028.0, orig_cost:17.60999872118678, new_cost:17.0474, ratio:0.9680511355400085, last_sale_price:15.149999618530273]
[2021-08-02 11:35:54.683099] INFO: Position: after split: PositionStock(asset:Equity(235 [601009.SHA]), amount:4028.0, cost_basis:17.0474, last_sale_price:15.649999618530273)
[2021-08-02 11:35:54.684122] INFO: Position: returning cash: 10.7989
[2021-08-02 11:35:55.494317] INFO: algo: handle_splits get splits [dt:2016-02-26 00:00:00+00:00] [asset:Equity(3199 [600016.SHA]), ratio:0.9914737343788147]
[2021-08-02 11:35:55.495859] INFO: Position: position stock handle split[sid:3199, orig_amount:7000.0, new_amount:7060.0, orig_cost:9.503219899699472, new_cost:9.4222, ratio:0.9914737343788147, last_sale_price:8.139999389648438]
[2021-08-02 11:35:55.497055] INFO: Position: after split: PositionStock(asset:Equity(3199 [600016.SHA]), amount:7060.0, cost_basis:9.4222, last_sale_price:8.210000038146973)
[2021-08-02 11:35:55.498124] INFO: Position: returning cash: 1.6045
[2021-08-02 11:35:55.965002] INFO: algo: handle_splits get splits [dt:2016-05-17 00:00:00+00:00] [asset:Equity(54 [600048.SHA]), ratio:0.9620535969734192]
[2021-08-02 11:35:55.966718] INFO: Position: position stock handle split[sid:54, orig_amount:7400, new_amount:7691.0, orig_cost:9.059999518887908, new_cost:8.7162, ratio:0.9620535969734192, last_sale_price:8.619999885559082]
[2021-08-02 11:35:55.967923] INFO: Position: after split: PositionStock(asset:Equity(54 [600048.SHA]), amount:7691.0, cost_basis:8.7162, last_sale_price:8.960000038146973)
[2021-08-02 11:35:55.968945] INFO: Position: returning cash: 7.5782
[2021-08-02 11:35:56.088163] INFO: algo: handle_splits get splits [dt:2016-06-06 00:00:00+00:00] [asset:Equity(1967 [601166.SHA]), ratio:0.9622524976730347]
[2021-08-02 11:35:56.089796] INFO: Position: position stock handle split[sid:1967, orig_amount:4100.0, new_amount:4260.0, orig_cost:15.393592752954513, new_cost:14.8125, ratio:0.9622524976730347, last_sale_price:15.550000190734863]
[2021-08-02 11:35:56.091055] INFO: Position: after split: PositionStock(asset:Equity(1967 [601166.SHA]), amount:4260.0, cost_basis:14.8125, last_sale_price:16.15999984741211)
[2021-08-02 11:35:56.092192] INFO: Position: returning cash: 12.9985
[2021-08-02 11:35:56.101940] INFO: algo: handle_splits get splits [dt:2016-06-07 00:00:00+00:00] [asset:Equity(235 [601009.SHA]), ratio:0.5430647730827332]
[2021-08-02 11:35:56.103565] INFO: Position: position stock handle split[sid:235, orig_amount:3700.0, new_amount:6813.0, orig_cost:16.97272465444944, new_cost:9.2173, ratio:0.5430647730827332, last_sale_price:9.709999084472656]
[2021-08-02 11:35:56.104968] INFO: Position: after split: PositionStock(asset:Equity(235 [601009.SHA]), amount:6813.0, cost_basis:9.2173, last_sale_price:17.880001068115234)
[2021-08-02 11:35:56.106173] INFO: Position: returning cash: 1.7827
[2021-08-02 11:35:56.117593] INFO: algo: handle_splits get splits [dt:2016-06-08 00:00:00+00:00] [asset:Equity(549 [600583.SHA]), ratio:0.9657064080238342]
[2021-08-02 11:35:56.119110] INFO: algo: handle_splits get splits [dt:2016-06-08 00:00:00+00:00] [asset:Equity(2146 [601211.SHA]), ratio:0.971646785736084]
[2021-08-02 11:35:56.120386] INFO: Position: position stock handle split[sid:549, orig_amount:9200, new_amount:9526.0, orig_cost:6.04608701555616, new_cost:5.8387, ratio:0.9657064080238342, last_sale_price:7.039999485015869]
[2021-08-02 11:35:56.121594] INFO: Position: after split: PositionStock(asset:Equity(549 [600583.SHA]), amount:9526.0, cost_basis:5.8387, last_sale_price:7.289999961853027)
[2021-08-02 11:35:56.122742] INFO: Position: returning cash: 4.9627
[2021-08-02 11:35:56.123966] INFO: Position: position stock handle split[sid:2146, orig_amount:3600, new_amount:3705.0, orig_cost:18.519998604401668, new_cost:17.9949, ratio:0.971646785736084, last_sale_price:17.81999969482422]
[2021-08-02 11:35:56.125114] INFO: Position: after split: PositionStock(asset:Equity(2146 [601211.SHA]), amount:3705.0, cost_basis:17.9949, last_sale_price:18.339998245239258)
[2021-08-02 11:35:56.126245] INFO: Position: returning cash: 0.8924
[2021-08-02 11:35:56.158715] INFO: algo: handle_splits get splits [dt:2016-06-16 00:00:00+00:00] [asset:Equity(303 [000623.SZA]), ratio:0.987873911857605]
[2021-08-02 11:35:56.160471] INFO: algo: handle_splits get splits [dt:2016-06-16 00:00:00+00:00] [asset:Equity(565 [000001.SZA]), ratio:0.820881187915802]
[2021-08-02 11:35:56.161771] INFO: algo: handle_splits get splits [dt:2016-06-16 00:00:00+00:00] [asset:Equity(1522 [600823.SHA]), ratio:0.7067210078239441]
[2021-08-02 11:35:56.163073] INFO: algo: handle_splits get splits [dt:2016-06-16 00:00:00+00:00] [asset:Equity(2427 [601668.SHA]), ratio:0.9628248810768127]
[2021-08-02 11:35:56.164528] INFO: Position: position stock handle split[sid:303, orig_amount:2600, new_amount:2631.0, orig_cost:26.961538482944643, new_cost:26.6346, ratio:0.987873911857605, last_sale_price:24.440000534057617]
[2021-08-02 11:35:56.166244] INFO: Position: after split: PositionStock(asset:Equity(303 [000623.SZA]), amount:2631.0, cost_basis:26.6346, last_sale_price:24.739999771118164)
[2021-08-02 11:35:56.167363] INFO: Position: returning cash: 22.3585
[2021-08-02 11:35:56.168516] INFO: Position: position stock handle split[sid:565, orig_amount:6300, new_amount:7674.0, orig_cost:10.84181567817258, new_cost:8.8998, ratio:0.820881187915802, last_sale_price:8.569999694824219]
[2021-08-02 11:35:56.169679] INFO: Position: after split: PositionStock(asset:Equity(565 [000001.SZA]), amount:7674.0, cost_basis:8.8998, last_sale_price:10.440000534057617)
[2021-08-02 11:35:56.170797] INFO: Position: returning cash: 5.8231
[2021-08-02 11:35:56.172351] INFO: Position: position stock handle split[sid:1522, orig_amount:6700, new_amount:9480.0, orig_cost:10.384477584378617, new_cost:7.3389, ratio:0.7067210078239441, last_sale_price:6.940000057220459]
[2021-08-02 11:35:56.173765] INFO: Position: after split: PositionStock(asset:Equity(1522 [600823.SHA]), amount:9480.0, cost_basis:7.3389, last_sale_price:9.819999694824219)
[2021-08-02 11:35:56.175421] INFO: Position: returning cash: 2.7972
[2021-08-02 11:35:56.176592] INFO: Position: position stock handle split[sid:2427, orig_amount:12200, new_amount:12671.0, orig_cost:5.970158371220845, new_cost:5.7482, ratio:0.9628248810768127, last_sale_price:5.17999792098999]
[2021-08-02 11:35:56.178340] INFO: Position: after split: PositionStock(asset:Equity(2427 [601668.SHA]), amount:12671.0, cost_basis:5.7482, last_sale_price:5.380000114440918)
[2021-08-02 11:35:56.179449] INFO: Position: returning cash: 0.2471
[2021-08-02 11:35:56.217499] INFO: algo: handle_splits get splits [dt:2016-06-23 00:00:00+00:00] [asset:Equity(391 [600741.SHA]), ratio:0.9473341703414917]
[2021-08-02 11:35:56.219188] INFO: algo: handle_splits get splits [dt:2016-06-23 00:00:00+00:00] [asset:Equity(2237 [600000.SHA]), ratio:0.8831750750541687]
[2021-08-02 11:35:56.220659] INFO: Position: position stock handle split[sid:391, orig_amount:4500, new_amount:4750.0, orig_cost:14.994665810810437, new_cost:14.205, ratio:0.9473341703414917, last_sale_price:14.569999694824219]
[2021-08-02 11:35:56.221954] INFO: Position: after split: PositionStock(asset:Equity(391 [600741.SHA]), amount:4750.0, cost_basis:14.205, last_sale_price:15.380000114440918)
[2021-08-02 11:35:56.223182] INFO: Position: returning cash: 2.5022
[2021-08-02 11:35:56.224436] INFO: Position: position stock handle split[sid:2237, orig_amount:3600.0, new_amount:4076.0, orig_cost:14.742101960843524, new_cost:13.0199, ratio:0.8831750750541687, last_sale_price:15.80000114440918]
[2021-08-02 11:35:56.225596] INFO: Position: after split: PositionStock(asset:Equity(2237 [600000.SHA]), amount:4076.0, cost_basis:13.0199, last_sale_price:17.889999389648438)
[2021-08-02 11:35:56.226766] INFO: Position: returning cash: 3.1915
[2021-08-02 11:35:56.241011] INFO: algo: handle_splits get splits [dt:2016-06-24 00:00:00+00:00] [asset:Equity(180 [600027.SHA]), ratio:0.9439250230789185]
[2021-08-02 11:35:56.242411] INFO: algo: handle_splits get splits [dt:2016-06-24 00:00:00+00:00] [asset:Equity(1245 [601988.SHA]), ratio:0.949554979801178]
[2021-08-02 11:35:56.243641] INFO: algo: handle_splits get splits [dt:2016-06-24 00:00:00+00:00] [asset:Equity(3199 [600016.SHA]), ratio:0.9823982119560242]
[2021-08-02 11:35:56.244725] INFO: Position: position stock handle split[sid:180, orig_amount:12600, new_amount:13348.0, orig_cost:4.959524134844723, new_cost:4.6814, ratio:0.9439250230789185, last_sale_price:5.049999237060547]
[2021-08-02 11:35:56.245894] INFO: Position: after split: PositionStock(asset:Equity(180 [600027.SHA]), amount:13348.0, cost_basis:4.6814, last_sale_price:5.350000381469727)
[2021-08-02 11:35:56.246924] INFO: Position: returning cash: 2.615
[2021-08-02 11:35:56.248048] INFO: Position: position stock handle split[sid:1245, orig_amount:19900.0, new_amount:20957.0, orig_cost:3.895126760650522, new_cost:3.6986, ratio:0.949554979801178, last_sale_price:3.200000286102295]
[2021-08-02 11:35:56.249103] INFO: Position: after split: PositionStock(asset:Equity(1245 [601988.SHA]), amount:20957.0, cost_basis:3.6986, last_sale_price:3.370000123977661)
[2021-08-02 11:35:56.250095] INFO: Position: returning cash: 0.5941
[2021-08-02 11:35:56.251175] INFO: Position: position stock handle split[sid:3199, orig_amount:7400.0, new_amount:7532.0, orig_cost:9.388091655904443, new_cost:9.2228, ratio:0.9823982119560242, last_sale_price:8.930000305175781]
[2021-08-02 11:35:56.252213] INFO: Position: after split: PositionStock(asset:Equity(3199 [600016.SHA]), amount:7532.0, cost_basis:9.2228, last_sale_price:9.09000015258789)
[2021-08-02 11:35:56.253213] INFO: Position: returning cash: 5.2419
[2021-08-02 11:35:56.283137] INFO: algo: handle_splits get splits [dt:2016-06-30 00:00:00+00:00] [asset:Equity(2009 [601939.SHA]), ratio:0.9461081027984619]
[2021-08-02 11:35:56.284734] INFO: Position: position stock handle split[sid:2009, orig_amount:13600.0, new_amount:14374.0, orig_cost:5.550307153638717, new_cost:5.2512, ratio:0.9461081027984619, last_sale_price:4.740001201629639]
[2021-08-02 11:35:56.286018] INFO: Position: after split: PositionStock(asset:Equity(2009 [601939.SHA]), amount:14374.0, cost_basis:5.2512, last_sale_price:5.009999752044678)
[2021-08-02 11:35:56.287063] INFO: Position: returning cash: 3.2171
[2021-08-02 11:35:56.360746] INFO: algo: handle_splits get splits [dt:2016-07-07 00:00:00+00:00] [asset:Equity(3160 [601288.SHA]), ratio:0.948171079158783]
[2021-08-02 11:35:56.362239] INFO: algo: handle_splits get splits [dt:2016-07-07 00:00:00+00:00] [asset:Equity(2543 [601006.SHA]), ratio:0.931817889213562]
[2021-08-02 11:35:56.363387] INFO: Position: position stock handle split[sid:3160, orig_amount:20700.0, new_amount:21831.0, orig_cost:3.296657954347146, new_cost:3.1258, ratio:0.948171079158783, last_sale_price:3.1100010871887207]
[2021-08-02 11:35:56.364419] INFO: Position: after split: PositionStock(asset:Equity(3160 [601288.SHA]), amount:21831.0, cost_basis:3.1258, last_sale_price:3.2799999713897705)
[2021-08-02 11:35:56.365405] INFO: Position: returning cash: 1.5651
[2021-08-02 11:35:56.366544] INFO: Position: position stock handle split[sid:2543, orig_amount:10300, new_amount:11053.0, orig_cost:8.43650499648117, new_cost:7.8613, ratio:0.931817889213562, last_sale_price:6.149998188018799]
[2021-08-02 11:35:56.367593] INFO: Position: after split: PositionStock(asset:Equity(2543 [601006.SHA]), amount:11053.0, cost_basis:7.8613, last_sale_price:6.599999904632568)
[2021-08-02 11:35:56.368587] INFO: Position: returning cash: 4.0713
[2021-08-02 11:35:56.382469] INFO: algo: handle_splits get splits [dt:2016-07-08 00:00:00+00:00] [asset:Equity(923 [600015.SHA]), ratio:0.9640719890594482]
[2021-08-02 11:35:56.383858] INFO: algo: handle_splits get splits [dt:2016-07-08 00:00:00+00:00] [asset:Equity(2807 [600011.SHA]), ratio:0.9395109415054321]
[2021-08-02 11:35:56.384993] INFO: algo: handle_splits get splits [dt:2016-07-08 00:00:00+00:00] [asset:Equity(2141 [601398.SHA]), ratio:0.9498907327651978]
[2021-08-02 11:35:56.386029] INFO: algo: handle_splits get splits [dt:2016-07-08 00:00:00+00:00] [asset:Equity(2016 [600104.SHA]), ratio:0.9358793497085571]
[2021-08-02 11:35:56.387114] INFO: Position: position stock handle split[sid:923, orig_amount:6700.0, new_amount:6949.0, orig_cost:10.189148142220118, new_cost:9.8231, ratio:0.9640719890594482, last_sale_price:9.660001754760742]
[2021-08-02 11:35:56.388193] INFO: Position: after split: PositionStock(asset:Equity(923 [600015.SHA]), amount:6949.0, cost_basis:9.8231, last_sale_price:10.020000457763672)
[2021-08-02 11:35:56.389277] INFO: Position: returning cash: 6.6508
[2021-08-02 11:35:56.390333] INFO: Position: position stock handle split[sid:2807, orig_amount:8700, new_amount:9260.0, orig_cost:7.550001014741906, new_cost:7.0933, ratio:0.9395109415054321, last_sale_price:7.300000190734863]
[2021-08-02 11:35:56.391343] INFO: Position: after split: PositionStock(asset:Equity(2807 [600011.SHA]), amount:9260.0, cost_basis:7.0933, last_sale_price:7.769999980926514)
[2021-08-02 11:35:56.392384] INFO: Position: returning cash: 0.9999
[2021-08-02 11:35:56.393408] INFO: Position: position stock handle split[sid:2141, orig_amount:14900.0, new_amount:15686.0, orig_cost:4.549016435574234, new_cost:4.3211, ratio:0.9498907327651978, last_sale_price:4.35999870300293]
[2021-08-02 11:35:56.394500] INFO: Position: after split: PositionStock(asset:Equity(2141 [601398.SHA]), amount:15686.0, cost_basis:4.3211, last_sale_price:4.590000152587891)
[2021-08-02 11:35:56.395468] INFO: Position: returning cash: 0.0641
[2021-08-02 11:35:56.396491] INFO: Position: position stock handle split[sid:2016, orig_amount:3200.0, new_amount:3419.0, orig_cost:20.46057695352261, new_cost:19.1486, ratio:0.9358793497085571, last_sale_price:19.850000381469727]
[2021-08-02 11:35:56.397493] INFO: Position: after split: PositionStock(asset:Equity(2016 [600104.SHA]), amount:3419.0, cost_basis:19.1486, last_sale_price:21.209999084472656)
[2021-08-02 11:35:56.398475] INFO: Position: returning cash: 4.8466
[2021-08-02 11:35:56.410391] INFO: algo: handle_splits get splits [dt:2016-07-11 00:00:00+00:00] [asset:Equity(2064 [601169.SHA]), ratio:0.8136234283447266]
[2021-08-02 11:35:56.411951] INFO: Position: position stock handle split[sid:2064, orig_amount:6300.0, new_amount:7743.0, orig_cost:8.977445964240703, new_cost:7.3043, ratio:0.8136234283447266, last_sale_price:8.600000381469727]
[2021-08-02 11:35:56.413113] INFO: Position: after split: PositionStock(asset:Equity(2064 [601169.SHA]), amount:7743.0, cost_basis:7.3043, last_sale_price:10.570000648498535)
[2021-08-02 11:35:56.414268] INFO: Position: returning cash: 1.2028
[2021-08-02 11:35:56.424201] INFO: algo: handle_splits get splits [dt:2016-07-12 00:00:00+00:00] [asset:Equity(2740 [002142.SZA]), ratio:0.9706841111183167]
[2021-08-02 11:35:56.425547] INFO: Position: position stock handle split[sid:2740, orig_amount:4400, new_amount:4532.0, orig_cost:12.05060918037839, new_cost:11.6973, ratio:0.9706841111183167, last_sale_price:14.90000057220459]
[2021-08-02 11:35:56.426665] INFO: Position: after split: PositionStock(asset:Equity(2740 [002142.SZA]), amount:4532.0, cost_basis:11.6973, last_sale_price:15.34999942779541)
[2021-08-02 11:35:56.427632] INFO: Position: returning cash: 13.195
[2021-08-02 11:35:56.440458] INFO: algo: handle_splits get splits [dt:2016-07-13 00:00:00+00:00] [asset:Equity(913 [601328.SHA]), ratio:0.954081654548645]
[2021-08-02 11:35:56.441802] INFO: algo: handle_splits get splits [dt:2016-07-13 00:00:00+00:00] [asset:Equity(1054 [601818.SHA]), ratio:0.9512819051742554]
[2021-08-02 11:35:56.442916] INFO: algo: handle_splits get splits [dt:2016-07-13 00:00:00+00:00] [asset:Equity(2935 [600036.SHA]), ratio:0.9610390067100525]
[2021-08-02 11:35:56.444097] INFO: Position: position stock handle split[sid:913, orig_amount:11700.0, new_amount:12263.0, orig_cost:5.992263808906079, new_cost:5.7171, ratio:0.954081654548645, last_sale_price:5.6100006103515625]
[2021-08-02 11:35:56.445166] INFO: Position: after split: PositionStock(asset:Equity(913 [601328.SHA]), amount:12263.0, cost_basis:5.7171, last_sale_price:5.880000591278076)
[2021-08-02 11:35:56.446189] INFO: Position: returning cash: 0.5684
[2021-08-02 11:35:56.447247] INFO: Position: position stock handle split[sid:1054, orig_amount:17500.0, new_amount:18396.0, orig_cost:4.284568080919663, new_cost:4.0758, ratio:0.9512819051742554, last_sale_price:3.7099995613098145]
[2021-08-02 11:35:56.448377] INFO: Position: after split: PositionStock(asset:Equity(1054 [601818.SHA]), amount:18396.0, cost_basis:4.0758, last_sale_price:3.9000000953674316)
[2021-08-02 11:35:56.449383] INFO: Position: returning cash: 0.8505
[2021-08-02 11:35:56.450452] INFO: Position: position stock handle split[sid:2935, orig_amount:3700.0, new_amount:3849.0, orig_cost:15.180169495610732, new_cost:14.5887, ratio:0.9610390067100525, last_sale_price:17.020000457763672]
[2021-08-02 11:35:56.451524] INFO: Position: after split: PositionStock(asset:Equity(2935 [600036.SHA]), amount:3849.0, cost_basis:14.5887, last_sale_price:17.709999084472656)
[2021-08-02 11:35:56.452589] INFO: Position: returning cash: 17.0169
[2021-08-02 11:35:56.462894] INFO: algo: handle_splits get splits [dt:2016-07-14 00:00:00+00:00] [asset:Equity(589 [600350.SHA]), ratio:0.9681980013847351]
[2021-08-02 11:35:56.464387] INFO: Position: position stock handle split[sid:589, orig_amount:12500, new_amount:12910.0, orig_cost:5.712400398856021, new_cost:5.5307, ratio:0.9681980013847351, last_sale_price:5.4800004959106445]
[2021-08-02 11:35:56.465791] INFO: Position: after split: PositionStock(asset:Equity(589 [600350.SHA]), amount:12910.0, cost_basis:5.5307, last_sale_price:5.659999847412109)
[2021-08-02 11:35:56.467139] INFO: Position: returning cash: 3.1911
[2021-08-02 11:35:56.489789] INFO: algo: handle_splits get splits [dt:2016-07-18 00:00:00+00:00] [asset:Equity(1899 [600020.SHA]), ratio:0.9657388925552368]
[2021-08-02 11:35:56.491462] INFO: Position: position stock handle split[sid:1899, orig_amount:15000, new_amount:15532.0, orig_cost:4.5168008222945, new_cost:4.3621, ratio:0.9657388925552368, last_sale_price:4.510000705718994]
[2021-08-02 11:35:56.492680] INFO: Position: after split: PositionStock(asset:Equity(1899 [600020.SHA]), amount:15532.0, cost_basis:4.3621, last_sale_price:4.670000076293945)
[2021-08-02 11:35:56.493752] INFO: Position: returning cash: 0.6702
[2021-08-02 11:35:56.528759] INFO: algo: handle_splits get splits [dt:2016-07-25 00:00:00+00:00] [asset:Equity(488 [601998.SHA]), ratio:0.9657426476478577]
[2021-08-02 11:35:56.530288] INFO: Position: position stock handle split[sid:488, orig_amount:11700, new_amount:12115.0, orig_cost:7.0296707224729635, new_cost:6.7889, ratio:0.9657426476478577, last_sale_price:5.920002460479736]
[2021-08-02 11:35:56.531413] INFO: Position: after split: PositionStock(asset:Equity(488 [601998.SHA]), amount:12115.0, cost_basis:6.7889, last_sale_price:6.130000114440918)
[2021-08-02 11:35:56.532406] INFO: Position: returning cash: 0.1706
[2021-08-02 11:35:56.662965] INFO: algo: handle_splits get splits [dt:2016-08-12 00:00:00+00:00] [asset:Equity(1630 [600578.SHA]), ratio:0.9562363624572754]
[2021-08-02 11:35:56.664565] INFO: Position: position stock handle split[sid:1630, orig_amount:15700, new_amount:16418.0, orig_cost:4.822293304140185, new_cost:4.6113, ratio:0.9562363624572754, last_sale_price:4.37000036239624]
[2021-08-02 11:35:56.665710] INFO: Position: after split: PositionStock(asset:Equity(1630 [600578.SHA]), amount:16418.0, cost_basis:4.6113, last_sale_price:4.570000171661377)
[2021-08-02 11:35:56.666704] INFO: Position: returning cash: 2.3371
[2021-08-02 11:35:56.894527] INFO: algo: handle_splits get splits [dt:2016-09-26 00:00:00+00:00] [asset:Equity(3199 [600016.SHA]), ratio:0.988273024559021]
[2021-08-02 11:35:56.896131] INFO: Position: position stock handle split[sid:3199, orig_amount:7800.0, new_amount:7892.0, orig_cost:9.223553843709578, new_cost:9.1154, ratio:0.988273024559021, last_sale_price:9.270000457763672]
[2021-08-02 11:35:56.897331] INFO: Position: after split: PositionStock(asset:Equity(3199 [600016.SHA]), amount:7892.0, cost_basis:9.1154, last_sale_price:9.379999160766602)
[2021-08-02 11:35:56.898424] INFO: Position: returning cash: 5.1523
[2021-08-02 11:35:58.139484] INFO: Performance: Simulated 1032 trading days out of 1032.
[2021-08-02 11:35:58.140982] INFO: Performance: first open: 2013-02-01 09:30:00+00:00
[2021-08-02 11:35:58.142022] INFO: Performance: last close: 2017-05-05 15:00:00+00:00
[2021-08-02 11:36:09.406422] INFO: moduleinvoker: backtest.v8 运行完成[31.358263s].
[2021-08-02 11:36:09.407977] INFO: moduleinvoker: trade.v4 运行完成[31.40265s].
results = m.raw_perf.read()
beta = results['beta'].tail(1)[0] # 系统自动计算的beta
print('beta:' ,beta)
risk_free = results['treasury_period_return'].tail(1)[0] # 无风险收益率
cum_algo_return = results['algorithm_period_return'].tail(1)[0] # 总收益
print('总收益:',cum_algo_return)
cum_benchmark_return = results['benchmark_period_return'].tail(1)[0] # 基准总收益
print('基准总收益:',cum_benchmark_return)
num_trading_days = results['trading_days'].tail(1)[0] # 天数
annualized_algo_return = (cum_algo_return + 1.0) ** (252.0 / num_trading_days) - 1.0
print('策略年化收益:', annualized_algo_return)
annualized_benchmark_return = (cum_benchmark_return + 1.0) ** (252.0 / num_trading_days) - 1.0
alpha_correct =annualized_algo_return - (risk_free + beta * (annualized_benchmark_return - risk_free) )
print('alpha: ', alpha_correct)
日收益率计算
result = m.raw_perf.read_df() # 回测结果
algo_daily_returns = (result.algorithm_period_return+1).pct_change().dropna() # 策略每日收益率
benchmark_daily_returns = (result.benchmark_period_return+1).pct_change().dropna() # 基准每日收益率
print('策略收益率与基准收益率的相关系数:',algo_daily_returns.corr(benchmark_daily_returns))
algo_volatility = result['algo_volatility'].tail(1).values[0]
sharp_ratio = ((cum_algo_return +1)** (240.0 / num_trading_days) -1 - risk_free) / algo_volatility
print('sharp_ratio: ', sharp_ratio)
algo_daily_return = (result.algorithm_period_return+1).pct_change().dropna() # 策略每日收益率
benchmark_daily_return = (result.benchmark_period_return+1).pct_change().dropna() # 基准每日收益率
diff = algo_daily_return - benchmark_daily_return
std = np.std(diff)
annualized_std = std*(240**0.5)
ir = (annualized_algo_return - annualized_benchmark_return) / annualized_std
print('信息比率' ,ir)