繁簡切換您正在訪問的是FX168財經網,本網站所提供的內容及信息均遵守中華人民共和國香港特別行政區當地法律法規。

FX168财经网>人物频道>帖子

再论高开卖、低开买——以“量化侠”代码为例

作者/量化王者 2019-10-07 09:57 0 来源: FX168财经网人物频道

最近,群里又在传着一份据说是量化侠写的“高开卖低开买”策略的代码,JQ官方也在推,称量化侠“数据挖掘揭秘最深A股套路“,因为以前也曾批过一次这样的论调:《我的低开买高开卖》。一时兴起,研究了一下其代码,验证了一下这个思想的可行性。

量化侠原版之漏洞¶

量化侠原版里,有如下两条语句,测试一下:

g.today = context.current_dt.strftime('%Y-%m-%d')
g.start = context.current_dt + datetime.timedelta(-2)
dToday = datetime.datetime(2016,1,4)
dStart = dToday + datetime.timedelta(-2)
dStart.strftime('%Y-%m-%d')
'2016-01-02'

在建仓操作的时候,有如下语句:

# B0、取得最近几天股票价格信息
    grid = get_price(stock, start_date=g.start, end_date=g.today, \
                     fields=['open', 'high', 'low', 'close', 'low_limit', 'paused'])
    # B1、今日低开(即:今开<昨低)、今日未跌停则买入
    if len(grid) > 1 and grid.low[-2] > grid.open[-1] and grid.open[-1] > grid.low_limit[-1]:
        order(stock, int(assign/grid.open[-1]))

测试一下:

stock = '300176.XSHE'
grid = get_price(stock, start_date=dStart, end_date=dToday, \
                         fields=['open', 'high', 'low', 'close', 'low_limit', 'paused'])
grid
open high low close low_limit paused
2016-01-04 29 29.25 26.25 26.25 26.25 0

  2016-1-2至2016-1-4,只有一行数据,于是 len(grid)>1这一条件不满足,就不买入了!
  而事实上300176.XSHE上一个交易日2015-12-31的最低价是29.17,2016-1-4的开盘价是29.00,也没有开盘跌停,按逻辑应该买入,却仅仅因为没有取到上一个交易日的数据而导致len(grid)是1,侥幸逃过了2016年1月4日的熔断!
  要确保能取到上一个交易日的数据,只需要轻轻地改变一下g.start的写法:

g.start = context.previous_date

分享到:
举报财经168客户端下载

全部回复

0/140

投稿 您想发表你的观点和看法?

更多人气分析师

  • 张亦巧

    人气2144文章4145粉丝45

    暂无个人简介信息

  • 梁孟梵

    人气2152文章3177粉丝39

    qq:2294906466 了解群指导添加微信mfmacd

  • 指导老师

    人气1856文章4423粉丝52

    暂无个人简介信息

  • 李冉晴

    人气2296文章3821粉丝34

    李冉晴,专业现贷实盘分析师。

  • 刘钥钥1

    人气2016文章3119粉丝34

    专业从事现货黄金、现货白银模似实盘操作分析指导

  • 张迎妤

    人气1896文章3305粉丝34

    个人专注于行情技术分析,消息面解读剖析,给予您第一时间方向...

  • 金泰铬J

    人气2320文章3925粉丝51

    投资问答解咨询金泰铬V/信tgtg67即可获取每日的实时资讯、行情...

  • 金算盘

    人气2696文章7761粉丝125

    高级分析师,混过名校,厮杀于股市和期货、证券市场多年,专注...

  • 金帝财神

    人气4728文章8329粉丝118

    本文由资深分析师金帝财神微信:934295330,指导黄金,白银,...