以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  发现python回测的时候,每逢9点40账户市值要跳变  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=169506)

--  作者:qq代人发帖
--  发布时间:2019/4/22 15:30:47
--  发现python回测的时候,每逢9点40账户市值要跳变

发现python回测的时候,每逢9点40,账户市值要跳变,差异超过10%,这应该是不可能的吧。


图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看


--  作者:yukizzc
--  发布时间:2019/4/22 16:12:20
--  
具体给出以下你的代码,这边测试一下
--  作者:dice2019
--  发布时间:2019/4/22 16:43:58
--  
# 现金余额
total_cash = get_account(3, context.account_id)

# 浮动盈亏
pnl = get_account(5, context.account_id)

# 当前交易帐户中的动态权益/资产值
total_value = get_account(6, context.account_id)

# 当前可用资金
available_cash = get_account(19, context.account_id)

# 占用保证金/证券市值
stock_value = get_account(28, context.account_id)

if context.total_value > 0:
total_change_percent = 100 * (total_value - context.total_value) / context.total_value
if total_change_percent > 11:
context.log_error(
"[{}] {} handle_bar value:{} -> {}".format(current_dt,
context.i,
context.total_value,
total_value))
portfolio_book = get_portfolio_book(0, context.account_id)
print(portfolio_book)
else:
context.log_info(
"[{}] {} handle_bar total_cash:{} pnl:{} total_value:{} available_cash:{} stock_value:{}".format(
current_dt,
context.i,
total_cash,
pnl,
total_value,
available_cash,
stock_value))

--  作者:yukizzc
--  发布时间:2019/4/22 17:00:15
--  
context.total_value
没看到你这个在那里定义的

--  作者:dice2019
--  发布时间:2019/4/23 9:34:10
--  
handle data 函数结尾把total_value赋值给它的
--  作者:yukizzc
--  发布时间:2019/4/23 13:35:51
--  
那你上面的代码是运行在哪里额?可否给出这边能直接测试的
而不是得猜测一半以上的代码

--  作者:dice2019
--  发布时间:2019/4/23 15:07:51
--  
我再排查一下,争取给个最小版本给你