以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 股票模型测试提问 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=168983) |
-- 作者:lance0307 -- 发布时间:2019/3/26 10:10:19 -- 股票模型测试提问 你好 我有一个股票模型逻辑,请教一下如何在金字塔下能实现历史回测
测试时间20100101-20190301 测试周期 日线 模型逻辑如下: 买入条件: 1:测试从开始日期开始滚动测试,选取当时所有A股且上市日期大于6个月时间,剔除ST股票 1.1 在满足上面条件的股票里面,再对每一只股票进行一个指标A的计算,选取满足指标A的股票,并记录满足的股票数量x,将账户资金/x(平均分配),对每一只股票买入1份资金,以当日收盘价买入; 卖出条件: 1:日K线的收盘价跌破20日均线,则卖出; 2:日K线的指标B满足时,则卖出; 3:日K线的收盘价亏损3%以上,则卖出; 请问如何实现对历史数据的回测,非常感谢! |
-- 作者:banzhuan -- 发布时间:2019/3/26 10:19:15 -- 账户资金平均分配,是如何定义的,比如1/10 满足10个股票,用总资金去平均分配买入,那1/11 又满足了20个股票呢,如何操作?还是没资金就不用买入了? |
-- 作者:lance0307 -- 发布时间:2019/3/26 10:22:06 -- 账户资金平均分配如下定义的: 例如账户资金100万,这里面的用的是账户的资产,不是可用资金 如果满足的股票有10只,就每只股票买入100/10 如果满足的股票有12只,就每只股票买入100/12 如果满足的股票有20只,就每只股票买入100/20 [此贴子已经被作者于2019/3/26 10:23:12编辑过]
|
-- 作者:banzhuan -- 发布时间:2019/3/26 10:41:51 -- 当满足股票有10只时,账号资金已经全部用完了,又出现2只满足条件的股票是,是先把10只股票仓位全部平掉吗? 要不然没有钱买另外2只啊 |
-- 作者:lance0307 -- 发布时间:2019/3/26 10:54:23 -- 很好,问的很专业 我只是举例说明一下我的大致思路,只需告知我该如何实现 具体详细的资金分配思路是这样的: 当每天收盘时计算 如果没有满足条件的股票,则保持持仓不变 如果出现满足条件的股票数有x1只,则判断持仓是否有股票已卖出 如果没有卖出,则保持持仓不变; 如果有卖出,则用y=账户资产/(持仓还剩下的股票只数+出现满足条件的股票数),满足条件的每只股票买入y资金,对于持仓中股票,则卖出大于y市值的部分股票,依次保持持仓中的各股票市值都是均等的。 |
-- 作者:banzhuan -- 发布时间:2019/3/26 11:17:29 -- 抱歉,这个实现不了 |
-- 作者:lance0307 -- 发布时间:2019/3/26 11:20:51 -- 是因为资金分配的问题吗? 如果是资金分配的问题,我可以用简单的规则,就是每周五全卖,然后重新买入满足条件的股票
|
-- 作者:banzhuan -- 发布时间:2019/3/26 11:33:20 -- 对,回测中资金平均分配不太好实现 |
-- 作者:lance0307 -- 发布时间:2019/3/26 11:55:56 -- 那我改一下资金分配规则,您看看能实现吗? 每次买入时是按资产/满足买入的股票数,下次判断如果有满足股票的条件进来,先把持仓全卖掉,再按新满足的股票数平均分配资金买入 |
-- 作者:banzhuan -- 发布时间:2019/3/26 13:03:43 -- 难点就在资金的分配上,不太好实现,因为是动态的 |