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