交易手数的计算方法

[复制链接]
查看719 | 回复4 | 张孟珂 | 2020-5-30 19:12:05 | 显示全部楼层 |阅读模式
我们在研究交易模型时,定义好开平仓条件后,就是开平仓的手数计算。

手数计算公式
FUND:=10000000; //定义初始资金
LOTS:=INTPART(FUND*0.4/(CLOSE*MARGIN*UNIT+FEE));// 计算开仓手数

在上述计算公式中,每一根k线上的收盘价是会对计算出来的手数有所影响,那就是说会影响到开平仓的手数,出现仓位并不能完全平掉的情况,具体测试内容我们在下面楼层中详细说明。

回复

使用道具 举报

张孟珂 | 2020-5-30 19:19:37 | 显示全部楼层
我们今天的测试结果是基于MACD指标在上证指数的。测试内容有:

1)  测试一条件:MACD金叉,买入;死叉卖出;开平仓的手数直接使用LOTS;
2)  测试二条件:MACD金叉,买入;死叉卖出;开平仓的手数使用LOTS、BKVOL、SKVOL去定义的中间变量;
回复

使用道具 举报

张孟珂 | 2020-5-30 19:20:23 | 显示全部楼层
一、测试内容说明
1)  测试一条件:MACD金叉,买入;死叉卖出;开平仓的手数直接使用LOTS;

测试代码
DIFF : EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);// 短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA  : EMA(DIFF,M);// DIFF的M个周期指数平滑移动平均
2*(DIFF-DEA),COLORSTICK;// DIFF减DEA的2倍画柱状线
//仓位计算
FUND:=10000000; //资金
LOTS:=INTPART(FUND*0.4/(C*MARGIN*UNIT+FEE));// 计算开仓手数
CROSSUP(DIFF,DEA),BPK(LOTS);//做多信号
CROSSDOWN(DIFF,DEA),SPK(LOTS);//做空信号

【交易明细说明】

交易手数A.png

2)  测试二条件:MACD金叉,买入;死叉卖出;开平仓的手数使用LOTS、BKVOL、SKVOL去定义的中间变量;

测试代码
DIFF : EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);// 短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA  : EMA(DIFF,M);// DIFF的M个周期指数平滑移动平均
2*(DIFF-DEA),COLORSTICK;// DIFF减DEA的2倍画柱状线
//仓位计算
FUND:=10000000; //资金
LOTS:=INTPART(FUND*0.4/(C*MARGIN*UNIT+FEE));// 计算开仓手数
//手数计算
// 1、设置一个头寸值,头寸是LOTS和BKVOL之间取最大值,或者在LOTS和SKVOL取最大值;
// BKTC:在LOTS和SKVOL之间取最大值;
BKTC : MAX(LOTS, SKVOL);//反手做多的手数
// SKTC:在LOTS和BKVOL之间取最大值;
SKTC : MAX(LOTS, BKVOL);//反手做空的手数
CROSSUP(DIFF,DEA),BPK(BKTC);//做多信号
CROSSDOWN(DIFF,DEA),SPK(SKTC);//做空信号

【交易明细说明】
交易手数B.png


【测试一、测试二对比】

交易手数-测试对比.png

二、测试小结
1、从测试一的测试报告中可以看出来,指令个数和信号格式是350次,但是交易次数只有59次,很明显是不正常的;从交易明细中可以看出来,平仓手数是和开仓手数是不相等的;
2、我们改变手数计算方法后,测试二报告中的交易次数有175次,同时交易明细中开仓手数和平仓手数都是相等的;因此在后面的模型研究中均可以使用测试二中的手数计算方法。

回复

使用道具 举报

西瓜 | 2020-6-1 23:47:24 | 显示全部楼层
// 1、设置一个头寸值,头寸是LOTS和BKVOL之间取最大值,或者在LOTS和SKVOL取最大值;
// BKTC:在LOTS和SKVOL之间取最大值;
BKTC : MAX(LOTS, SKVOL);//反手做多的手数
// SKTC:在LOTS和BKVOL之间取最大值;
SKTC : MAX(LOTS, BKVOL);//反手做空的手数
CROSSUP(DIFF,DEA),BPK(BKTC);//做多信号
CROSSDOWN(DIFF,DEA),SPK(SKTC);//做空信


这里的逻辑理能说说吗?
回复

使用道具 举报

张孟珂 | 2020-6-2 09:47:58 | 显示全部楼层
1、先说明:在LOTS 的计算公式中,用到了当根k线上的收盘价,所以LOTS 这个值是在不停变化的,如果首次开仓100手,持仓量就是100手;但是在反手条件触发时,你反手时计算出来的LOTS 值要比实际持仓量BKVOL 或者SKVOL 大或者小;
2、因此我们先设置一个中间变量 BKTC / SKTC;
3、如果现在是持多头仓位,那SKTC 就在LOTS 和BKVOL 两个值中间取最大值,这个最大值就是我们要反手做空或者平掉的仓位,否则会有仓位没有全部平掉。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

媒体报道
大论文配图
刘昱妗大论文配图
大论文所有配图
论文撰写/整合智能体
刘昱妗论文撰写/整合智能体
梁心怡的交易日记与反思
心怡梁心怡的交易日记与反思
总结、学习、改进
揭秘 “5000笔交易胜率90.5%” 轻量组冠军“吾剑”老师 深度访谈 干货满满 交易策略
心怡揭秘 “5000笔交易胜率90.5%” 轻量组冠军“吾剑”老师 深度访谈 干货满满 交易策略
说话人 1 00:00:00本次大赛,他用1,035元的本金在6个月的时间里翻了169倍。而更令人瞠
昱妗交易员日记
刘昱妗昱妗交易员日记
记录教训 吸取教训 前一天提出的问题改进时机:上午的10:30 (和第一次风控一起)
巴菲特眼中的赌博
桥博士巴菲特眼中的赌博
英雄不问出处,巴菲特曾经重注 运通公司 的股票 巴菲特重注运通公司(American E
工科女在线学交易
唯格工科女在线学交易
今天我基于一个明确的技术信号进行了开仓操作:昨天大盘的收盘价和盘中最高价均创出近
工科女的量化学习
唯格工科女的量化学习
今天动手跑了第一次批量回测,测试了5、10、15、30分钟四个时间周期的策略表现。主要
相关课程推荐
K线形态组合解析
k线图基础知识怎么学? 报名宽论VA鱼识别课
没有人可以做万能交易者,但通过不断学习吸收知识从而有一套属于自己交易系统的人,就是走向了盈利的大道。
90%的时间在研究大盘指数,9.9元学习宽论VA
一买就跌,一卖就涨? 股市七亏二平一赚,怎样才能成为赚钱的10%? 看准大盘胜算过半,炒股新手也能掌握的V

43

主题

235

帖子

799

积分

宽论高级会员

Rank: 4

积分
799
  • 官方论坛

    提供最新 Discuz! 产品新闻、软件下载与技术交流