⑴ 求集合競價規則選股方法的策略源碼
# 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左右,大單就又撤單了,這個時候我們再想撤單就來不及了。正是這個原因,大家要提高注意力,擦亮自己的眼睛,別中了主力的圈套。