?
通過問財(cái)python庫,可以輸入中文就能獲取AI選股結(jié)果,而不需要寫很多代碼來進(jìn)行股票選取,如上圖就是輸入中文”均線多頭排列的股票”獲取的結(jié)果。本文主要介紹問財(cái)python庫的選股功能和使用步驟。
什么是問財(cái)python庫
-
同花順i問財(cái)是同花順旗下的AI投顧平臺(tái),專注于使用AI技術(shù)改進(jìn)財(cái)經(jīng)數(shù)據(jù)的提取、處理、分析、沉淀以及展現(xiàn), 用戶不登陸就可以在i問財(cái)使用中文進(jìn)行選股并進(jìn)行可視化分析。
-
問財(cái)python庫是由GraySilver開源的i問財(cái)python工具包,通過使用wencai lib庫可以獲取同花順i問財(cái)?shù)乃阉鹘Y(jié)果和回測等數(shù)據(jù)。經(jīng)過代碼分析和測試發(fā)現(xiàn),wencai python工具包除了選股功能外, 其提供的獲取回測分析、獲取策略、獲取事件評測等功能都已無法使用。原因是wencai python包最近一次github更新是在2021年9月11日,而之后同花順i問財(cái)則更新很多,之前的很多不需要登錄就能實(shí)現(xiàn)的功能目前需要登錄后才能使用
問財(cái)python庫使用步驟
-
安裝weicai python庫
pip?install?wencai
pip會(huì)自動(dòng)安裝requests、beautifulsoup4、PyExecJS等python依賴包
2. 使用weicai python庫進(jìn)行查詢
以查詢query=”均線多頭排列的股票”進(jìn)行說明,代碼如下:
import?wencai?as?wc
wc.set_variable(cn_col=True)
from?wencai.core.session?import?Session
Session.headers.update({'Host':?'www.iwencai.com'})
wc.search(query='均線多頭排列的股票')
注意,一定要加上Session.headers.update({'Host': 'www.iwencai.com'}) 這一句。如果按照wencai lib庫官方文檔直接進(jìn)行查詢,會(huì)報(bào)錯(cuò)TypeError: list indices must be integers or slices, not str。 因?yàn)楣俜酱a不包括Session.headers.update({'Host': 'www.iwencai.com'}) 這一句,具體原因是i問財(cái)服務(wù)器做了驗(yàn)證升級(jí),需要設(shè)置http請求header。
均線多頭排列(條件說明)??股票簡稱????最新價(jià)????????????技術(shù)形態(tài)???最新漲跌幅??????????????????????????買入信號(hào)inter???????股票代碼
0???2023年06月09日均線多頭排列??中國國貿(mào)??19.44??縮量||價(jià)跌量縮||回調(diào)縮量??-1.220?????????????????周線cci買入信號(hào)||周線kdj金叉??600007.SH
1???2023年06月09日均線多頭排列??皖通高速??11.08????放量||價(jià)跌量縮||陰線??-1.424???????周線skdj金叉||周線rsi金叉||周線cci買入信號(hào)??600012.SH
2???2023年06月09日均線多頭排列??中體產(chǎn)業(yè)??11.45????陽線||縮量||價(jià)跌量縮??-0.174????????????????????mtm金叉||周線skdj金叉??600158.SH
....
46??2023年06月09日均線多頭排列??新澳股份???7.14????陽線||放量||價(jià)升量縮???0.140?????月線boll突破上軌||周線rsi金叉||周線cci買入信號(hào)??603889.SH
47??2023年06月09日均線多頭排列??建發(fā)合誠??12.80????放量||價(jià)跌量縮||陰線??-1.311???????????月線dma金叉||周線mtm金叉||周線cr金叉??603909.SH
48??2023年06月09日均線多頭排列??金橋信息??34.88????強(qiáng)中選強(qiáng)||放量||陰線??-6.962????????????????????????????????NaN??603918.SH
49??2023年06月09日均線多頭排列??力鼎光電??17.20????放量||陰線||價(jià)跌量升??-3.749???????????????????????????bias買入信號(hào)??605118.SH
其他示例:
-
可以根據(jù)人氣排名選股:
wc.search("人氣股票排名100")
個(gè)股熱度排名???股票簡稱?????最新價(jià)???最新漲跌幅??????個(gè)股熱度???????股票代碼
0????????1???拓維信息???17.63???9.981??129391.0??002261.SZ
1????????2???鴻博股份???38.00??-4.857???70730.0??002229.SZ
2????????3???上海物貿(mào)???14.76???9.985???60386.0??600822.SH
...
46??????47???中科曙光???52.04???4.919???20711.0??603019.SH
47??????48???飛龍股份???11.57???9.981???20410.5??002536.SZ
48??????49???吉宏股份???23.16??10.024???20322.5??002803.SZ
49??????50???中際旭創(chuàng)??115.20???7.946???20214.5??300308.SZ
-
可以根據(jù)形態(tài)選股:
wc.search("可轉(zhuǎn)債概念 正股金叉")
所屬概念?未清償可轉(zhuǎn)債代碼??未清償可轉(zhuǎn)債轉(zhuǎn)股價(jià)格?未清償可轉(zhuǎn)債簡稱???a股市值(不含限售股)????最新價(jià)???最新漲跌幅???????????????????????買入信號(hào)inter???????股票代碼???????macd金叉(條件說明)???未清償可轉(zhuǎn)債總量??股票簡稱????????????技術(shù)形態(tài)??所屬概念數(shù)量
0???煤化工;影視娛樂;文化傳媒;通用航空;互聯(lián)網(wǎng)金融;芯片概念;富時(shí)羅素概念;富時(shí)羅素概念股;標(biāo)...???128037????????3.10?????巖土轉(zhuǎn)債??4.517167e+09???2.84???4.412?????行情收盤價(jià)上穿5日||skdj金叉||boll突破中軌??002542.SZ??2023年06月09日macd金叉????6019009??中化巖土????價(jià)升量漲||陽線||放量??????22
1???保健品;滬股通;醫(yī)藥電商;融資融券;轉(zhuǎn)融券標(biāo)的;富時(shí)羅素概念;富時(shí)羅素概念股;MSCI概念;...???113605???????47.11?????大參轉(zhuǎn)債??3.052566e+10??26.84???3.790??????????mtm金叉||行情收盤價(jià)上穿5日||cr金叉??603233.SH??2023年06月09日macd金叉???14047400???大參林????價(jià)升量漲||陽線||放量???????9
2???一帶一路;稀缺資源;鐵礦石;特斯拉;鋰電原料;鋰礦;鋰電池;深股通;金屬銅;MSCI概念;融...???128111???????10.63?????中礦轉(zhuǎn)債??3.514415e+10??57.75???3.755??????boll突破中軌||roc買入信號(hào)||cci買入信號(hào)??002738.SZ??2023年06月09日macd金叉????1099547??中礦資源????價(jià)升量漲||陽線||放量??????12
...
18??北部灣自貿(mào)區(qū);深股通;一帶一路;富時(shí)羅素概念;富時(shí)羅素概念股;東盟自貿(mào)區(qū);標(biāo)普道瓊斯A股;統(tǒng)...???127039????????8.00?????北港轉(zhuǎn)債??1.122096e+10???7.96??-0.748????????macd金叉||dmi金叉||月線roc買入信號(hào)??000582.SZ??2023年06月09日macd金叉???17630564??北部灣港??縮量||價(jià)跌量縮||回調(diào)縮量??????16
19?????電子商務(wù);廣告營銷;文化傳媒;新零售;網(wǎng)紅經(jīng)濟(jì);C2M概念;工業(yè)機(jī)器人;機(jī)器人概念;抖音概念???113589???????12.29?????天創(chuàng)轉(zhuǎn)債??2.001966e+09???4.77??-2.254?????macd金叉||周線boll突破中軌||周線rsi金叉??603608.SH??2023年06月09日macd金叉????5995000??天創(chuàng)時(shí)尚????放量||價(jià)跌量縮||陰線???????9
3. 使用pandas等工具進(jìn)一步操作選股信息
使用問財(cái)python庫選出的股票一般數(shù)量較多,是初步的選取結(jié)果,可以根據(jù)自己的策略使用pandas和sort等工具進(jìn)一步精選出符合要求的數(shù)量較少的股票
進(jìn)一步優(yōu)化
-
想獲取100條結(jié)果,該怎么操作
從上文可以看出,問財(cái)python庫默認(rèn)最多獲取50條結(jié)果,如果希望獲取更多返回結(jié)果,那就需要修改wencai python庫源代碼或者新建繼承類實(shí)現(xiàn)修改代碼了。 下面是新建繼承類來實(shí)現(xiàn)的方式,但最多只能獲取100條結(jié)果,代碼如下:
from?wencai.core.event?import?*
from?wencai.core.crawler?import?*
from?wencai.core.session?import?Session
Session.headers.update({'Host':?'www.iwencai.com'})
Session.headers.update({'User-Agent':?'Mozilla/5.0?(Windows?NT?10.0;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/112.0.0.0?Safari/537.36'})
class?MyWencai(Wencai):
????def?__init__(self,?cn_col=False,?proxies=None,?verify=False):
????????self.cookies?=?WencaiCookie()
????????self.cn_col?=?cn_col
????????self.session?=?Session(proxies=proxies,?verify=verify)
????????
????def?search(self,?query_string,?page):
????????payload?=?{
????????????"question":?query_string,
????????????"page":?page,
????????????"perpage":?100,
????????????"log_info":?'{"input_type":?"click"}',
????????????"source":?"Ths_iwencai_Xuangu",
????????????"version":?2.0,
????????????"secondary_intent":?"",
????????????"query_area":?"",
????????????"block_list":?"",
????????????"add_info":?'{"urp":?{"scene":?1,?"company":?1,?"business":?1},?"contentType":?"json",?"searchInfo":?true}'
????????}
????????r?=?self.session.post_result(url=WENCAI_CRAWLER_URL['search'],
?????????????????????????????????????data=payload,?force_cookies=True)
????????#?print(r.json()['data'])
????????result?=?r.json()['data']['answer'][0]['txt'][0]['content']['components'][0]['data']['datas']
????????def?_re_str(x:?str):
????????????_re?=?re.findall('(.*):前復(fù)權(quán)',?x)
????????????if?len(_re)?>=?1:
????????????????x?=?_re[-1]
????????????check_date?=?re.search(r"(\d{4}\d{1,2}\d{1,2})",x)
????????????if?check_date?is?not?None:
????????????????return?x.replace('[{}]'.format(check_date.group()),?'')
????????????else:
????????????????return?x
????????data?=?pd.DataFrame().from_dict(result)
????????if?not?data.empty:
????????????columns?=?{i:?_re_str(i)?for?i?in?data.columns}
????????????data?=?data.rename(columns=columns)
????????????for?col?in?['market_code',?'code',?'關(guān)鍵詞資訊',?'漲跌幅']:
????????????????if?col?in?data.columns:
????????????????????del?data[col]
????????return?data
????
def?search(query,?page=1):
????return?MyWencai(proxies=globals()['global_proxies'],?verify=globals()['verify']).search(query_string=query,?page=page)
小結(jié)&交流
完整文章查看,點(diǎn)擊使用python進(jìn)行問財(cái)AI智能選股
關(guān)注公眾號(hào):諸葛說talk,獲取更多相關(guān)內(nèi)容
寫文章不易,覺得本文對你有幫助的話,幫忙點(diǎn)贊轉(zhuǎn)發(fā)贊賞,讓筆者有堅(jiān)持寫好文章的動(dòng)力。文章來源:http://www.zghlxwxcb.cn/news/detail-801994.html
參考
-
同花順問財(cái)文章來源地址http://www.zghlxwxcb.cn/news/detail-801994.html
到了這里,關(guān)于使用python進(jìn)行AI選股之同花順問財(cái)?shù)奈恼戮徒榻B完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!