⑴ 求集合竞价规则选股方法的策略源码
# coding=utf-8
from __future__ import print_function, absolute_import, unicode_literals
from gm.api import *
'''
本策略基于掘金量化平台
本策略通过获取SHSE.000300沪深300的成份股数键历搭据并统计其30天内
开盘价大于前收盘价的天数,并在该天数大于阈值10的时候加入股票池
随后对不在股票池的股票平仓并等权配置股票池的标的,每次交易间隔1个月.
回测数据为:SHSE.000300在2015-01-15的成份股
回测时间为:2017-07-01 08:00:00到2017-10-01 16:00:00
'''
def init(context):
# 每月第一个交易稿拿日烂银的09:40 定时执行algo任务
schele(schele_func=algo, date_rule='1m', time_rule='09:40:00')
# context.count_bench累计天数阙值
context.count_bench = 10
# 用于对比的天数
context.count = 30
# 最大交易资金比例
context.ratio = 0.8
def algo(context):
# 获取当前时间
now = context.now
# 获取上一个交易日
last_day = get_previous_trading_date(exchange='SHSE', date=now)
# 获取沪深300成份股
context.stock300 = get_history_constituents(index='SHSE.000300', start_date=last_day,
end_date=last_day)[0]['constituents'].keys()
# 获取当天有交易的股票
not_suspended_info = get_history_instruments(symbols=context.stock300, start_date=now, end_date=now)
not_suspended_symbols = [item['symbol'] for item in not_suspended_info if not item['is_suspended']]
trade_symbols = []
if not not_suspended_symbols:
print('没有当日交易的待选股票')
return
for stock in not_suspended_symbols:
recent_data = history_n(symbol=stock, frequency='1d', count=context.count, fields='pre_close,open',
fill_missing='Last', adjust=ADJUST_PREV, end_time=now, df=True)
diff = recent_data['open'] - recent_data['pre_close']
# 获取累计天数超过阙值的标的池.并剔除当天没有交易的股票
if len(diff[diff > 0]) >= context.count_bench:
trade_symbols.append(stock)
print('本次股票池有股票数目: ', len(trade_symbols))
# 计算权重
percent = 1.0 / len(trade_symbols) * context.ratio
# 获取当前所有仓位
positions = context.account().positions()
# 如标的池有仓位,平不在标的池的仓位
for position in positions:
symbol = position['symbol']
if symbol not in trade_symbols:
order_target_percent(symbol=symbol, percent=0, order_type=OrderType_Market,
position_side=PositionSide_Long)
print('市价单平不在标的池的', symbol)
# 对标的池进行操作
for symbol in trade_symbols:
order_target_percent(symbol=symbol, percent=percent, order_type=OrderType_Market,
position_side=PositionSide_Long)
print(symbol, '以市价单调整至权重', percent)
if __name__ == '__main__':
'''
strategy_id策略ID,由系统生成
filename文件名,请与本文件名保持一致
mode实时模式:MODE_LIVE回测模式:MODE_BACKTEST
token绑定计算机的ID,可在系统设置-密钥管理中生成
backtest_start_time回测开始时间
backtest_end_time回测结束时间
backtest_adjust股票复权方式不复权:ADJUST_NONE前复权:ADJUST_PREV后复权:ADJUST_POST
backtest_initial_cash回测初始资金
backtest_commission_ratio回测佣金比例
backtest_slippage_ratio回测滑点比例
'''
run(strategy_id='strategy_id',
filename='main.py',
mode=MODE_BACKTEST,
token='token_id',
backtest_start_time='2017-07-01 08:00:00',
backtest_end_time='2017-10-01 16:00:00',
backtest_adjust=ADJUST_PREV,
backtest_initial_cash=10000000,
backtest_commission_ratio=0.0001,
backtest_slippage_ratio=0.0001)
⑵ 求助将通达信分时公式改为选股公式 【通达信】发家分时(抓涨停)-指标公式源码
放分时的指标改成分时选股不可行,改成一般选股很容易。
日1:=EMA(C,1);
日:=EMA((H+L+C)/3,1);
日5:=MA(EMA((H+L+C)/3,1),5);
日10:=MA(EMA((H+L+C)/3,1),10);
对比日:=EMA(REF(日,240),1) ;
对比日5:=MA(EMA(REF(日,240),1),5);
对比日10:=MA(EMA(REF(日,240),1),10);
强:=日5>对比日5 AND 日10>对比日10 AND 日5-对比日5>0 AND 日10-对比日10>0 ;
角:=(ATAN((日10/REF(日10,5)-1)*100)*180/3.14115926)>30;
角2:=(ATAN((日10/REF(日10,5)-1)*100)*180/3.14115926)>20;
弱:=日5<对比日5 AND 日10<对比日10 AND 日5-对比日5<0 AND 日10-对比日10<0 AND 对比日5>REF(对比日5,3);
/*下面是两个不同的选股条件,可任选一,也可组合与和组合或,能衍生出4个选股公式*/
CROSS(日5,对比日5) AND C>REF(C,150) AND 角;
CROSS(日1,对比日)AND C>REF(C,240);
⑶ 请高手帮忙编写个集合竞价选股公式,
集合竞价时是没有数据输出的,也是无法用公式来编写的时候,任何软件都做不到。
可以尝试再25分以后,用下面的公式缩小范围,然后再查看个股的竞价线。
量比:=DYNAINFO(17);
换手:=DYNAINFO(37)*100;
涨幅:=(C-REF(C,1))/REF(C,1)*100;
量比>4 AND 换手>1 AND 涨幅>2;
⑷ 最全集合竞价选股公式:集合竞价选股公式有哪些
集合竞价选股公式有很多,下面例举1个成功率最高的集合竞价选股公式:
ST:=STRFIND(stkname,'ST',1)>0;
S:=STRFIND(stkname,'S',1)>0;
停牌:=(DYNAINFO(4)=0);
附加:=CLOSE/ref(CLOSE,5)<1.2 AND CLOSE<37 AND FINANCE2(37)/10000<4;
一字板:=C/REF(C,1)>=1.09 AND O=C;
xg0:=not(ST) and not(停牌) and not(S) AND NOT(一字板);
量比:=V/REF(MA(V,5),1);
流通盘:=FINANCE2(37)/10000<6;
D1:=ISBUYORDER AND DYNAINFO(9)*C/100>=50;{分笔买入单>50万}
D2:=(DYNAINFO(23)-DYNAINFO(22))/CAPITAL*100>=0.4;{内外盘净};
T1:=DYNAINFO(11)/DYNAINFO(4)>=1.03 AND DYNAINFO(11)/DYNAINFO(4)<=1.05;
T2:=H/DYNAINFO(3)<=1.075 AND C/DYNAINFO(3)<=1.06 AND C>=DYNAINFO(11) AND C
T3:=HOUR=9 AND MINUTE>25.99;{时间控制}
预警:=T1 AND T2 AND T3 AND D1 AND D2;
换手率:=COUNT(VOL/CAPITAL*100<3,3)=0;
现价:=DYNAINFO(7);
均价:=DYNAINFO(11)+(DYNAINFO(11)*0.021);
条件:=IF(现价>均价,1,0);
集合竞价:=量比 AND 流通盘 AND 预警 AND 条件;
选股:XG0 AND 集合竞价;CXH:=STRTONUM(STRRIGHT(DATESTR(CURRENTDATE),1));
WARNING('http://www.cxh99.com',CURRENTTIME>180000 and (CXH=1 OR CXH=6));
DRAWTEXTREL(10 ,10 ,'指标公式');
⑸ 集合竞价一条横线的选股公式
源码公式:
A:= WINNER(C)*100;
涨停:=C/REF(C,1)>1.095 AND H=C;
现手:=DYNAINFO(9);
SJ:=IF(TIME>=91500 AND TIME<=93000,1,0);
REF(A,1)>REF(A,2) AND A>90 AND REF(涨停,1) AND 现手>2000 AND O>REF(H,1);
集合竞价的三个特点
1、高于集合竞价产生的价格的买入申报全部成交;
2、低于集合竞价产生的价格的卖出申报全部成交;
3、等于集合竞价产生的买入或卖出申报,根据买入申报量或卖出申报量的多少,按少的一方申报全部成交。
拓展资料
一、选股是投资者应用自身的分析方法从全部可交易品种中选出目标投资品种的过程。不同的分析方法会选出不同的品种,投资者要结合自身的条件,选出适合自己的投资品种。
二、选股条件
选股对于不同的个体来说都是不一样的,茫茫股海,这么多支股要选哪只赚钱,这些都是我们会考虑到的问题;特别是对新股民更是云里雾里的事情。其实也没有那头疼,可以借助些工具来辅助你选股,轻松搞定。可以通过资金选股系统了解资金流向,加强判断趋势;用大掘金对个股评级,验证自己选择股票的优劣;如果是选择基金的话,打开基金分析系统,帮助分析每支基金。善于利用这些工具可以使你更轻松的赚钱。当然也要多了解行业动态各方面的信息,深度阅读、中金在线鲜果阅读器就是每天必备的。选股有条件的
一)、不同的大势有不同的选择。升势的时候选择板块类的个股;盘整的时候突破的个股比较好;跌势的时候我是不会做板块的,即使做了,那些除了龙头股以外的个股也不会跟着被带上来。
二)、选择龙头股。假如在领头的股票身上赚不到钱又怎能在别的股票身上赚钱呢?即使我要做整个板块,也是有一只的筹码比较集中的作为领头羊。同样的,即使是超跌反弹等行情也都是有筹码最集中的。
三)、尽量在尾盘买。这样一天的图形做完了,可以简单的看出我们的意图而不会被迷惑。
⑹ 通达信集合竞价涨停选股公式
1、通达信集合竞价抢先导选股公式为9.25分,可用于选股;收视率大于2的为最佳;升得太高然后放弃。
2、参数 n 1 100 10
开仓量:= ref (V, barssince (V > ref (V, 1)); LT:=CAPITAL/1000000; XG1: if (LT < 0.3 and opening volume > 600,1, if (LT < 0.6 and lt > 0.3 和开口体积 > 800,1,
If (LT > 0.6 and lt < 1 and opening volume > 1000,1, if (LT > 1 and lt < 2 and opening volume > 1500,1,
If (LT > 2 and lt < 4 and opening volume > 2000,1, if (LT > 4 and lt < 6 and opening volume > 2500,1,
if (LT > 6 and lt < 10 and opening volume > 3000,1, if (LT > 10 and opening volume > 6000,1,0));
巨大的数量:=(资本< 30000000和dynainfo(9)> = 600)或(资本> = 30000000
AND CAPITAL<60000000 AND DYNAINFO(9)>=800) 或 (CAPITAL>=60000000
AND CAPITAL<100000000 AND DYNAINFO(9)>=1000) OR (CAPITAL>=100000000
AND CAPITAL<200000000 AND DYNAINFO(9)>=1500) OR (CAPITAL>=200000000
AND CAPITAL<400000000 AND DYNAINFO(9)>=2000) OR (CAPITAL>=400000000
AND CAPITAL<600000000 AND DYNAINFO(9)>=2500) OR (CAPITAL>=600000000
拓展资料
集合竞价是指对一段时间内收到的买卖订单进行一次性集中撮合的竞价方式。以我国的竞价交易制度为例,集合竞价交易价格的确定原则是:在有效价格范围内选择交易量最大的价格;高于成交价的买单和低于成交价的卖单全部平仓;交易价格相同的买方或卖方中的至少一方完成交易。两个以上价格同时满足上述条件的,上海证券交易所规定以最小未结算量的申报价格为成交价格。两个以上申报价格仍符合条件的,以中间价作为成交价。深交所以最接近上一收盘价的价格作为成交价。集合竞价的所有交易均以相同价格成交。未完成的集合竞价部分将自动进入连续竞价。
⑺ 集合竞价选股公式源码
1.集合竞价选股公式源码为:
N:=95;
开幅%:(O-REF(C,1))/REF(C,1)*100,NODRAW;
去ST股:=IF(NAMELIKE('S'),0,1);
去ST股1:=IF(NAMELIKE('*'),0,1);
去停牌:=DYNAINFO(17)>0;
流通值:=FINANCE(40)/100000000;
一字板:=C/REF(C,1)>1.0975 AND H=L;
TJA:=REF(WINNER(C)*100,1)>=N AND WINNER(O)*100>=N AND BETWEEN(开幅%,3,9) AND 去ST股 AND 去ST股1 AND 流通值<100000 {AND NOT( 一字板)};
2.股票集合竞价是指每个交易日上午的9:15到9:25,由投资者按照自己的目标价格,买卖申请不受任何限制。之所以要进行股票集合竞价,目的就是确定开盘价,就是在9:30股市开市时间到达时的首个价格。
3.对于下面的3条竞价规则,一般这个价格都需要遵守:
1)在这个价格的成交量是最大的;
2)买这个或者卖这个的,任何一方所出的价格跟这个一样的话,有一边必须要全部成交;
3)比这个价高的买入申请以及比这个价低的卖出申请在最后的阶段都要保证完成交易。
拓展资料:
1.集合竞价时间不止一段,而是有两段,在不同的时间段里可以进行不同的操作:
2.第一个时间段9:15-9:20:申报和撤销都可以进行,匹配成交量在这个时间段是虚假的信息,那是因为在这个时间段里完成的成交是可以撤单的。在开始的前几分钟,股票的价格会随着大单的买入而升高,但是时间在9:20左右,大单就又撤单了,这个时候我们再想撤单就来不及了。正是这个原因,大家要提高注意力,擦亮自己的眼睛,别中了主力的圈套。