金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 24|回复: 11

Python 策略中回测 portfolio 获取持仓问题

[复制链接]

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2024-12-17
曾用名:
发表于 2024-12-19 17:30 | 显示全部楼层 |阅读模式

# 持多
if portfolio.buy_quantity > 0:
    if 平仓条件:
        平仓操作
elif 开仓条件:
    print('持多仓:{}手, 开多'.format(portfolio.buy_quantity))
    开仓操作

# 持空
if portfolio.sell_quantity> 0:
    if 平仓条件:
        平仓操作
elif 开仓条件:
    print('持多仓:{}手, 开多'.format(portfolio.sell_quantity))
    开仓操作

-----------------------------------------------------------------------------------------------
以上为代码大概逻辑,下单逻辑没问题。
通过 portfolio.buy_quantity 和 portfolio.sell_quantity 回测时获取持仓有问题?
逻辑很简单,判断有持仓就只判断平仓条件,问题回测时已经开了空但 portfolio.sell_quantity 还是 0;如图;






补充内容 (2024-12-19 17:31):
而且,为什么只有第一张单有问题?之后的判断又没问题
截图202412191726465173.png
回复

使用道具 举报

31

主题

7734

帖子

7744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-19 17:31 | 显示全部楼层
开仓后不是立即成交得,持仓成交会有一定滞后
你这里有平仓触发说明持仓是能读取得,0就说明当时回测系统没给你成交
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

31

主题

7734

帖子

7744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-19 17:31 | 显示全部楼层
开仓后不是立即成交得,持仓成交会有一定滞后
你这里有平仓触发说明持仓是能读取得,0就说明当时回测系统没给你成交
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2024-12-17
曾用名:
 楼主| 发表于 2024-12-19 17:37 | 显示全部楼层
技术008 发表于 2024-12-19 17:31
开仓后不是立即成交得,持仓成交会有一定滞后
你这里有平仓触发说明持仓是能读取得,0就说明当时回测系统 ...

那要怎么才能正确判断是否下过单呢,正常python策略中防止重复下单是怎么写的?自己加flag?
回复

使用道具 举报

31

主题

7734

帖子

7744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-19 17:39 | 显示全部楼层
你实盘运行时候就是判断未成交单,回测下跟k线就有持仓了,只是当根k线开仓后系统认为没成交而已
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2024-12-17
曾用名:
 楼主| 发表于 2024-12-19 17:42 | 显示全部楼层
技术008 发表于 2024-12-19 17:39
你实盘运行时候就是判断未成交单,回测下跟k线就有持仓了,只是当根k线开仓后系统认为没成交而已

没太懂,有没有范例呀,就简单的判断有持仓不走开仓条件应该怎么写才能在回测和实盘中用?
回复

使用道具 举报

31

主题

7734

帖子

7744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-19 17:43 | 显示全部楼层
电话我
021-20339087
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

31

主题

7734

帖子

7744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-19 17:46 | 显示全部楼层
你的逻辑是没问题得,问题是软件的回测系统不是说你开仓了他就当作成交有持仓
他的判断成交持仓有一定滞后性

你以为开多后就有多头持仓,但是软件回测认为你只是下单了但是没成交,此时持仓是0

这个仅仅只是软件回测这么设计而已
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2024-12-17
曾用名:
 楼主| 发表于 2024-12-20 10:56 | 显示全部楼层
现在就是同个信号重复开单了,而且如果是回测设计问题为什么只有第一单会?

所以怎么让回测能正常呢?用portfolio判断又因为软件问题回测不正常,那应该怎么判断持仓才能在回测中正常运行?
回复

使用道具 举报

31

主题

7734

帖子

7744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-20 10:57 | 显示全部楼层
电话我
021-20339087
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-12-22 13:00 , Processed in 0.177540 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表