日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python接口 同花顺_利用python探索股票市场数据指南

發(fā)布時間:2024/7/23 python 117 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python接口 同花顺_利用python探索股票市场数据指南 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

雖然同花順之類的金融理財應(yīng)用的數(shù)據(jù)足夠好了,但還是有自己定制的沖動, 數(shù)據(jù)自然不會不會比前者好很多,但是按照自己的想法來定制還是不錯的。

目標(biāo)

通過免費的數(shù)據(jù)接口獲取數(shù)據(jù),每日增量更新標(biāo)的歷史交易數(shù)據(jù), 然后通過Kibana做可視化及數(shù)據(jù)分析.

其實自己通過echarts之類的可視化框架做可視化也是個不錯的選擇,不過前期成本太大。還有就是pandas+matplotlib已經(jīng)足以應(yīng)付大部分需求了,可是交互感太弱,所以借助一個可視化應(yīng)用是很有必要的,這里選擇的是kibana, 它的競品有Grafana.

這個目標(biāo)應(yīng)該會一直下去

成長離不開與優(yōu)秀的同伴共同交流,如果你需要好的學(xué)習(xí)環(huán)境,好的學(xué)習(xí)資源,這里歡迎每一位熱愛Python的小伙伴

環(huán)境配置

Python3(推薦Anaconda安裝)

安裝相關(guān)依賴:

pip install -r requirement.txt

配置eleasticsearch, kibana環(huán)境(推薦使用docker)

Elasticsearch, Logstash, Kibana 7.2.0

數(shù)據(jù)源

獲取數(shù)據(jù)的方式有很多種,收費或者免費,作為業(yè)余愛好者自然選擇免費的,這里選擇 tushare.pro, 但其實tushare會有一點限制, 如獲取數(shù)據(jù)的頻率有一定的限制,并且接口也有限制, 需要很多積分。

其他的免費的數(shù)據(jù)獲取方式的,大家可以自己嘗試

  • pytdx
  • fooltrader
  • QUANTAXIS
  • 獲取數(shù)據(jù)

    配置自己的token

    import tushare as ts ts.set_token("<your_token>") pro = ts.pro_api("<your_token>")

    關(guān)于Token的獲取可以參考一下鏈接

    https://tushare.pro/document/1?doc_id=39

    嘗試手動獲取數(shù)據(jù)

    通過日期取歷史某一天的全部歷史 df = pro.daily(trade_date='20190725')df.head() ts_code trade_date open high low close pre_close change pct_chg vol amount value 0 000032.SZ 20190725 9.49 9.60 9.47 9.56 9.49 0.07 0.7376 12658.35 12075.625 8906.981000 1 000060.SZ 20190725 4.39 4.40 4.35 4.36 4.39 -0.03 -0.6834 129331.65 56462.292 -38586.330353 2 000078.SZ 20190725 3.37 3.38 3.35 3.38 3.37 0.01 0.2967 76681.00 25795.633 7653.564311 3 000090.SZ 20190725 5.66 5.66 5.56 5.61 5.64 -0.03 -0.5319 105582.72 59215.389 -31496.665409 4 000166.SZ 20190725 4.97 4.98 4.93 4.96 4.97 -0.01 -0.2012 268122.48 132793.120 -26717.975744獲取某一只股票的日線行情數(shù)據(jù) data = ts.pro_bar(ts_code="601668.SH", adj='qfq', start_date="20120101") data.head() ts_code trade_date open high low close pre_close change pct_chg vol amount 0 601668.SH 20190726 6.01 6.06 5.98 6.03 6.04 -0.01 -0.17 696833.16 419634.547 1 601668.SH 20190725 6.05 6.07 6.02 6.04 6.04 0.00 0.00 543074.55 327829.380 2 601668.SH 20190724 6.09 6.11 6.02 6.04 6.05 -0.01 -0.17 788228.12 477542.609 3 601668.SH 20190723 5.93 6.07 5.92 6.05 5.94 0.11 1.85 1077243.46 650250.021 4 601668.SH 20190722 6.02 6.03 5.92 5.94 6.00 -0.06 -1.00 811369.73 485732.343

    數(shù)據(jù)的獲取自然是需要自動化的,但是由于接口的限制,所以需要考慮以下問題。

  • 股票列表
  • 判斷是否超出接口限制,如果是,則暫停一段時間
  • 關(guān)鍵代碼部分

    def save_data(code, start_date, fp):print("下載股票(%s)日線數(shù)據(jù)到 %s" % (code, fp))try:data = ts.pro_bar(ts_code=code, adj='qfq', start_date=start_date)# 當(dāng)超過調(diào)用次數(shù)限制返回Noneif data is None:time.sleep(10)returnpass_set.add(code)except Exception:time.sleep(10)print("股票: %s 下載失敗" % code)returnif len(data) == 0:pass_set.add(code)returntry:data.trade_date = pd.to_datetime(data.trade_date)data = data.sort_values("trade_date")if path.exists(fp):data.to_csv(fp, mode="a", header=False, index=False)else:data.to_csv(fp, index=False)except Exception:print("股票:%s 保存失敗" % code)

    大家可以參考我GitHub倉庫的save_data.py, 通過以下命令就可以自動下載數(shù)據(jù)了

    python save_data.py

    代碼里面配置的起始時間是2012-01-01,有需要的課自行更改,值得注意的是需要在同級目錄配置一個config.json, 內(nèi)容如下

    {"token": "<your_token>" }配上自己的token

    配置elasticsearch, kibana

    這里使用的是docker進行配置。

    # 拉取鏡像 docker pull sebp/elk:720# 啟動docker環(huán)境 docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -v /home/elasticsearch/:/var/lib/elasticsearch -itd sebp/elk:720

    轉(zhuǎn)存數(shù)據(jù)

    將數(shù)據(jù)上傳到elasticsearch里面以便數(shù)據(jù)分析

    配置settings.py

    # 將ip:port改成自己elasticsearch地址,如192.168.56.102:9200 config["es_host"] = ["ip:port"]

    運行代碼

    # 上傳股票數(shù)據(jù) python cmd.py dump# 上傳上證指數(shù)數(shù)據(jù) python cmd.py dump_index

    可視化

    配置kibana是需要一定的時間的,好在kibana現(xiàn)在是大多數(shù)配置都支持導(dǎo)入導(dǎo)出,所以大家可以通過我倉庫的export.ndjson文件直接導(dǎo)入

    效果展示

    由于現(xiàn)在接口受限,獲取的股票因子有限,所以等我的積分更多了,我會加入更多的dashboard, 以及visualization.

    總結(jié)

    以上是生活随笔為你收集整理的python接口 同花顺_利用python探索股票市场数据指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。