前言
前幾期我們搭建了自定義的量化行情/回測架構:
搭建系統|聽說backtrader很不錯!把它內建到本地GUI回測平台中!
搭建系統|線上改政策很便捷!試一試本地GUI回測平台動态改政策
搭建系統|多元度下不同股票|周期|除權|複權走勢對比界面
搭建系統|行情軟體可沒有!多股票投資組合用的GUI分析界面
搭建系統|想把聚寬本地化嗎?一起來建立GUI版的自定義量化回測平台
搭建系統|wxPython布局管理實作多隻股票走勢對比界面
搭建系統|比Matplotlib更好用的pyecharts打造GUI股票行情分析界面
股票分析中選股是很重要的一個環節,對于大多數股民來說,除了根據股價走勢來選股之外,也會加入一些基本面選股的條件,比如換手率、量比、市盈率、市淨率、市銷率、股息率、總股本、流通股本、自由流通股本、總市值、流通市值等等。
雖然通過資料庫方式也是可以根據條件來選股的,不過掌握資料庫的使用需要一定的基礎和學習過程,如果還不會資料庫的話,我們就來教大家建構一個GUI版基本面選股工具。
實作過程概述
首先是擷取資料,我們要得到A股市場的全部股票的基本面名額清單,這裡我們用了tushare的兩個接口組合而成,一個是pro.stock_basic(),另一個是pro.daily_basic()。我們分别看下這兩個接口的到的資料内容:

說明下,換手率中股本的統計口徑表示的是自由流通股,實戰中隻有自由流通股統計出來的換手率才是真實的交易換手率。即使是已流通股的股東,他們要在二級市場上賣出股票也是要申報減持計劃的。
一份是A股市場所有股票的名稱、代碼、上市日期、所屬行業清單,一份是當天A股市場所有股票的市盈率、市淨率、股本大小等基本面的資料,我們打算把它們以股票名稱為軸合并為一份。
我們發現這麼幾個問題:
- 2份股票資料的數量是不對應的(3851 VS 3827)
- 第2份股票資料在中間位置缺了若幹隻股票,缺失位置是散亂的
- 第1份股票也缺了2隻股票(後面處理完我才發現的,一隻300104 樂視退,一隻是600614 *ST鵬起)
代碼裡面我們用pd.merge方法,以股票代碼為軸,将2份表格對應的合并在一,形成第三幅圖。
關于選股的實作,我們采用的Pandas的矢量化特性,利用條件表達式對DataFrame格式的資料進行篩選,隻不過這裡我們把表達式外顯為GUI上的控件而已。
接下來我們展示下效果和操作的方法。
- 運作程式後,表格顯示了A股市場全部股票的市盈率、股本大小等基本面資料。多說一句,中間挺多資料為NaN的,大家還是要注意一下。
- 用條件表達式選股,選取換手率大于5%的股票,點選按鈕【開始選股】
- 用條件表達式選股,疊加選取量比大于5的股票,也就是說股票的換手率大于5%的同時量比也要大于5。點選按鈕【開始選股】
- 選出的股票我們要儲存起來,點選按鈕【開始儲存】,這樣就以csv格式儲存到本地了。
- 如果選到一半想換選股條件重新選股,這時可以點選按鈕【開始複位】,這樣就恢複到初始的狀态了
視訊顯示效果
加入知識星球/讀者交流群 可擷取完整代碼
更多量化交易内容掃碼加入星球!
—————————————————
pandas cut count_搭建系統|不用資料庫選股也行!利用Pandas特性的GUI版基本面選股工具...
元宵大師的量化交易書籍開售!
京東、當當、天貓有售!
pandas cut count_搭建系統|不用資料庫選股也行!利用Pandas特性的GUI版基本面選股工具...
加我QQ或者微信了解詳情
pandas cut count_搭建系統|不用資料庫選股也行!利用Pandas特性的GUI版基本面選股工具...
pandas cut count_搭建系統|不用資料庫選股也行!利用Pandas特性的GUI版基本面選股工具...
微信關注:‘元宵大師帶你用Python量化交易’
pandas cut count_搭建系統|不用資料庫選股也行!利用Pandas特性的GUI版基本面選股工具...