自己动手写股票数据分析软件之数据获取
前言
本文旨在分享編程經驗,非炒股指導軟件。
一、Tushare數據介紹
Tushare是一個免費、開源的python財經數據接口包。主要實現對股票等金融數據從數據采集、清洗加工?到?數據存儲的過程,能夠為金融分析人員提供快速、整潔、和多樣的便于分析的數據,為他們在數據獲取方面極大地減輕工作量,使他們更加專注于策略和模型的研究與實現上。
二、IDE環境介紹
1、python 3.7
tushare接口為python接口,為了比較方便的獲取數據,該系統為python+java環境。python主要用于股票數據獲取和數據分析,java主要用于網站的搭建及結果的展示。
2、mysql數據庫
用于存儲歷史股票數據(近3年)和新聞輿論信息。
注意:若mysql數據庫中存儲中文,請使用utf8的方式創建:
CREATE DATABASE tushare DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;3、工具環境配置(pycharm + anaconda)
為了使用pyhton?tushare工具包,安裝了anaconda工具,在pycharm中需要配置anaconda所在的環境,如圖:
三、數據存儲
本博客主要使用3張表,股票列表、行業分類和歷史數據3張表
1、股票列表(滬深上市公司的基本情況)
code,代碼 name,名稱 industry,所屬行業 area,地區 pe,市盈率 outstanding,流通股本(億) totals,總股本(億) totalAssets,總資產(萬) liquidAssets,流動資產 fixedAssets,固定資產 reserved,公積金 reservedPerShare,每股公積金 esp,每股收益 bvps,每股凈資 pb,市凈率 timeToMarket,上市日期 undp,未分利潤 perundp, 每股未分配 rev,收入同比(%) profit,利潤同比(%) gpr,毛利率(%) npr,凈利潤率(%) holders,股東人數將數據存儲到數據庫python代碼
def getStockBasic():df = ts.get_stock_basics()engine = create_engine('mysql://root:root@127.0.0.1/tushare?charset=utf8')df.to_sql('stock_basics', engine, if_exists='append')注意1:若沒有提前建立數據表,該方法會自動在數據庫中創建表。但可能沒寫字段無法自動對應,需要后期修改數據表。
注意2:該數據庫請使用utf8的方式創建,否則在存儲中文的時候,會失敗。
CREATE DATABASE tushare DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;2、行業分類表
- code:股票代碼
- name:股票名稱
- c_name:行業名稱
行業分類信息如下
將數據存儲到數據庫python代碼
def getIndustryClassified():df = ts.get_industry_classified()engine = create_engine('mysql://root:root@127.0.0.1/tushare?charset=utf8')df.to_sql('industry_classified', engine, if_exists='append')3、歷史數據表(該接口提供最近3年的歷史成交數據)
- date:日期
- open:開盤價
- high:最高價
- close:收盤價
- low:最低價
- volume:成交量
- price_change:價格變動
- p_change:漲跌幅
- ma5:5日均價
- ma10:10日均價
- ma20:20日均價
- v_ma5:5日均量
- v_ma10:10日均量
- v_ma20:20日均量
- turnover:換手率[注:指數無此項]
該表大約有200W條數據,在獲取數據時,需要等待一段時間。
若考慮到每天自動同步歷史數據的話,需要寫一個定時任務,來自動同步每天數據。
(后續補充...)
若需要獲取其他數據,可以從tushare網站自主選擇添加。
相關問題,可QQ交流:1931969006
總結
以上是生活随笔為你收集整理的自己动手写股票数据分析软件之数据获取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 水平、垂直居中布局大全
- 下一篇: 阻碍NFT进一步发展的绊脚石都有哪些?从