【AI选股】如何通过python调用wencai包实现AI选股(小白也能学会)
如何通過python調用wencai包實現AI選股
- 前言
- 一、wencai問財如何實現AI選股?
- 1.實用基礎篇(wencai選股函數與使用方法)
- 2.進階發揮篇(附可轉債數據處理演示)
- 3.數據分析篇(調節參數分析數據背后的數據)
- 總結
前言
i問財是同花順旗下專業的機器人智能選股問答平臺,致力于為投資者提供宏觀數據、新聞資訊、A股、港美股、新三板、基金等各類方案。wencai是i問財的策略回測接口的Pythonic工具包,滿足量化愛好者和數據分析師在量化方面的需求。
提示:以下是本篇文章正文內容,下面案例僅供參考
一、wencai問財如何實現AI選股?
1.實用基礎篇(wencai選股函數與使用方法)
注意:由于近期接口地址有變動,pip安裝或升級完畢,需要按如下替換步驟更新后方可使用如下代碼,否則將無法訪問到數據,或者程序接口會報錯。(如無法訪問,詳見http://t.csdn.cn/nVWS7)
=導入問財包=
安裝:pip install wencai
升級:pip install wencai --upgrade
替換:將我的壓縮包解壓,覆蓋python安裝目錄下Lib\site-packages\下的wencai目錄。(個別地址和函數有修改,修改后才可以使用wencai及更好的使用問財)
將以下代碼保存為文件:wencai_xg.py
# -*- coding: utf-8 -*-# 文件名:wencai_xg.py import wencai as wc # 若需中文字段則cn_col=True,chromedriver路徑不在根目錄下需指定execute_path wc.set_variable(cn_col=True)def xg_wencai(query,perpage=20):'''功能:調用問財接口篩選股票參數:query查詢條件,perpage反饋的條目數'''import wencai as wc# 若需中文字段則cn_col=True,chromedriver路徑不在根目錄下需指定execute_pathwc.set_variable(cn_col=True)r = wc.search(query,perpage)return r.round(3)if __name__ == '__main__':# 實用基礎篇if 1:# 選股條件query = '非st;非停牌;股價大于5元;流通市值50億到750億;股價突破444日均線;'# 控制一次最多選多少支股票perpage = 10df = xg_wencai(query,perpage)print(df)# df_table(df,query)# 寫入EXCEL文件df.to_excel("xg_wencai.xlsx", encoding="utf8")# 有人說我只要股票代碼code_list = df['股票代碼'].values.tolist()# 取5只股票代碼print(code_list[0:5])注:query 是選股的口語化條件說夢,使用中文分號間隔。也可以在問財的網頁段先試試,看看別人都是怎么寫的條件。
引用方法:將以上文件保存到wencai_xg.py,在同目錄調用使用如下方法即可。
from wencai_xg import xg_wencai query = '非st;非停牌;股價大于5元;流通市值50億到750億;股價突破444日均線;' perpage = 10 df = xg_wencai(query,perpage)對于大多數情況,只要學會修改query 條件,即可實現AI選股。
2.進階發揮篇(附可轉債數據處理演示)
2.1 進階相對就復雜了一些,入股只是選股,入門的內容已經足夠用。進階增加了一些美化輸出和數據處理的內容,給大家示例以下數據如何加工處理,并列舉可轉債相關數據處理。運行那段就將if后的0改為1即可。
文件名:wencai_xg.py
3.數據分析篇(調節參數分析數據背后的數據)
此處列舉了幾種數據統計的方法,具體數據意義大家一塊研究。要執行代碼,只需要將以下代碼復制在進階篇后面,運行那段就將if后的0改為1即可。
if 0:'''策略回測,周期內的漲幅'''query='中證1000,30日漲幅小于10%,股價在30日均線上,滬深主板;市盈率小于20,市值從小到大排列;'start_date='2021-01-01'end_date='2022-08-30'period='4'transaction = wc.get_strategy(query=query,start_date=start_date,end_date=end_date,period=period,fall_income=1,lower_income=5,upper_income=9,day_buy_stock_num=3,stock_hold=5)r = transaction.history_pick(trade_date='2020-08-05', hold_num=10)df = r.round(3)df_table(df,'get_strategy')df.to_excel(BASEDIR+"wencai_get_strategy.xlsx", encoding="utf8")if 0:'''獲取策略報告'''query='非停牌;非st;今日振幅小于5%;量比小于1;漲跌幅大于-5%小于1%;流通市值小于20億;市盈率大于25小于80;主力控盤比例從大到小'start_date='2022-01-01'end_date='2022-08-05'period='1'r = wc.get_strategy(query=query,start_date=start_date,end_date=end_date,period=period,fall_income=1,lower_income=5,upper_income=9,day_buy_stock_num=1,stock_hold=2)print(r.profit_data) # 累計收益數據print(r.backtest_data) # 報告評級print(r.condition_data) # 準確回測語句print(r.history_detail(period='1')) # 歷史明細查詢print(r.history_pick(trade_date='2022-08-03', hold_num=1)) # 策略選股df_table(r.profit_data,'profit_data')df_table(r.history_pick(trade_date='2022-08-03', hold_num=1),'history_pick')if 1:'''獲取回測分析'''query='非st;非停牌;周線MACD紅柱上移;日線j小于-10'start_date='2022-01-01'end_date='2022-08-06'period='1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16' #設置多個K線范圍,可分別觀察這些股票在不同交易區間的漲跌幅print('query:',query,'\nstart_date',start_date,'end_date',end_date,'period',period)r = wc.get_scrape_report(query=query,start_date=start_date,end_date=end_date,period=period,benchmark='1A0001')print(r.report_data) # 報告評級print(r.backtest_data) # 回測分析print(r.condition_data) # 準確回測參數print(r.history_detail(period='1')) # 歷史明細查詢 # 檢查5天的收益情況,修改nn = 5df = r.history_detail(period=str(n))df = df.round(3)# print(df)df_table(df,'get_scrape_report')df.to_excel(BASEDIR+"wencai_get_scrape_report.xlsx", encoding="utf8")總結
首先,感謝同花順i問財給我們提供了這么好的智能化工具。它使用很快捷,可以節省收集資料的時間,還給出你歷史統計數據。i問財的答案簡單明了,沒有太多的主觀色彩,是一個便捷客觀的選股軟件。另外同花順提供的BackTest量化策略平臺也很不錯,這里有一個非常簡單有效的歷史統計工具,它主要有三個板塊:回測預測,策略分析,事件回測。需要的人可以常去打卡訪問。
其次,要感謝wencai的開發者。wencai是i問財的策略回測接口的Pythonic工具包,滿足量化愛好者和數據分析師在量化方面的需求。
軟件倉庫:https://github.com/GraySilver/wencai
對問財的應用,個人也只是摸了個皮毛,但數據處理的基礎框架已為各位奉上,希望能幫到大家。代碼個人都測試過。如有人運行報錯,請仔細檢查開頭的要求。再有問題,可在評論中留言。
最后,再次感謝同花順和wencai包的開發者。大家也且用且珍惜吧。
總結
以上是生活随笔為你收集整理的【AI选股】如何通过python调用wencai包实现AI选股(小白也能学会)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转载]redis和 redis的php
- 下一篇: 三星复印机载体初始化步骤_三星复印机如何