策略研究合竞价选股(源)

本文介绍了基于集合竞价的选股策略,通过获取沪深300成分股数据,统计开盘价大于前收盘价的天数,当达到阈值时纳入股票池。策略在掘金量化平台上实现,包括获取交易日信息、历史数据、成分股等步骤,并进行回测分析,展示胜率、卡玛比率和夏普比率等关键指标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原 【策略研究】集合竞价选股(附源码)

什么是集合竞价?有什么用途?

​ 所谓集合竞价就是在当天还没有开盘之前,你可根据前一天的收盘价和对当日股市的预测来输入股票价格,在集合竞价时间里输入计算机主机的所有下单,按照价格优先和时间优先的原则计算出最大成交量的价格,这个价格就会是集合竞价的成交价格,而这个过程被称为集合竞价。

​ 每天开盘价在技术分析上具有重要的意义,目前世界各国股市市场均采用集合竞价的方式来确定开盘价,因为这样可以在一定程度上防止人为操纵现象。

策略实现(基于掘金量化平台)

策略思想

  • 获取沪深300的成份股数据,并统计其30天内开盘价大于前收盘价的天数,并在该天数大于阈值18的时候加入股票池。

  • 对不在股票池的股票平仓,并等权配置股票池的标的股票,每次交易间隔1个月。

策略主要步骤实现

获取当前交易日日期

now = context.now = context.now

​ 直接调用context.now函数,返回“datetime.datetime”格式

获取上一交易日日期

last_day = get_previous_trading_date(exchange='SHSE', date=now) = get_previous_trading_date(exchange='SHSE', date=now)

​ 获取上一交易日可调用get_previous_trading_date函数,返回值为字符串格式:

  • exchang需要设置交易市场代码。

  • date需要设置指定日期。

获取当天有交易的股票

    not_suspended_info = get_history_instruments(symbols='SHSE.000300', start_date=now, end_date=now)
    not_suspended_symbols = [item['symbol'] for item in not_suspended_info if not item['is_suspended']]not_suspended_info = get_history_instruments(symbols='SHSE.000300', start_date=now, end_date=now)
    not_suspended_symbols = [item['symbol'] for item in not_suspended_info if not item['is_suspended']]

​ 获取当天有交易的股票,即非停牌的股票,首先需获取停牌信息,这里需调用get_history_instruments函数,返回值类型为list[dict],之后就是将所提取的“字典”转换为”list“:

  • symbols需要设置订阅的标的代码。

  • start_dateend_date需设置获取成分股的开始与结束日期,这里需要调成上一交易日以获取上一交易日的成分股信息。

固定月初调仓

schedule(schedule_func=algo, date_rule='1m', time_rule='09:40:00')(schedule_func=algo, date_rule='1m', time_rule='09:40:00')

​ 固定时间调仓可使用schedule函数进行定时任务配置:

  • schedule_func为调用的策略函数的名称。

  • date_rule可设为1m(一月)。

  • time_rule为开仓日的开仓时间,这里设为每月第一个交易日的09:40:00

获取沪深300成分股

stock300 = get_history_constituents(index='SHSE.000300', start_date=last_day,end_date=last_day)[0]['constituents'].keys() = get_history_constituents(index='SHSE.000300', start_date=last_day,end_da
策略为王是一个很老的股票交易软件,包括行情接收、显示、技术指标、策略模拟等。功能很全,该有的都有,在当时也算是专业软件。 不知何故后来人家不再使用,也不再维护,就把码放出来共享,一群好人啊!这是目前通过正常途径能够找到的最好的开交易软件,也是最好的C++示例系统之一。无论您是有意从事股票/期货的自动交易,还是学习C++编程,读它的码都是一个很好的开端,我就是这么做的。 策略为王最早的开发环境是VC6。我当时下的代码,最多升级到VS2003。据说能升到VS2005,我没试,但再往上肯定不行了。因为程序所用第三方控件库不支持更高版本的VS,这也是VS讨厌的地方。 后来我用QT编写自己的行情软件,就不再关注策略为王了。 最近兴趣重燃,发现网上有人家升级到VS2008的版本。原来的第三方控件库基本不再使用,功能及界面效果也大打折扣。未使用新的界面库,可以说程序变成了半成品,但这样也好,剩下的都是干货,更有利于研究和学习。无论如何,人家能升级到VS2008我还是很佩服的,做这个事的人应该是下了不少功夫,在此要表示感谢。 基于以前的积累,我对这些程序比较熟悉。在人家的基础上,我又做了点儿工作:把开发环境升级到了VS2015,改了几个错误,加了点儿小功能,加上
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值