程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Mac使用Python接入東方財富量化接口Choice,調試與獲取數據

編輯:Python

這篇博客用來把在Mac平台上使用python接入東方財富Choice接口的流程細化並重寫,官方文檔有些地方說的太含糊了,有的地方博主嘗試了多種方法才試出來,這裡直接把標准答案給到大家,盡量避坑吧~

吐槽:同花順科技感很足,贊,但是沒有Mac版本的,而且券商數據太少太少啦,希望再接再厲吧

文章目錄

  • Choice賬號獲取
  • Choice接口激活
  • Python接口拉取數據
  • 更多代碼

Choice賬號獲取

首先使用這個接口的時候,需要有購買的賬號哈,價格請參考:https://choice.eastmoney.com/buyingcenter,應該是每年3w

一般你注冊賬號之後會有人打電話聯系你,或是主動打客服,都可以的。

然後給賬號綁定一個手機號,後續需要這個手機號

Choice接口激活

Choice 官方使用接口的文檔如下:http://quantapi.eastmoney.com/Manual/Index?from=web&loc=%E6%8E%A5%E5%8F%A3%E9%85%8D%E7%BD%AE&ploc=%E6%8E%A5%E5%8F%A3%E9%85%8D%E7%BD%AE

  1. 首先進入網站:http://quantapi.eastmoney.com/Download?from=web,下載python的版本:

    下載的鏈接是:http://updates.jg.eastmoney.com/Choice/EMQuantAPI/EMQuantAPI_Python.zip

  2. 下載壓縮包後,使用:

unzip EMQuantAPI_Python.zip
cd EMQuantAPI_Python
cd python3
python installEmQuantAPI.py

這樣就在當前的環境中添加依賴了

  1. 激活接口(這裡用官網的第一種,大家也可以使用後面兩種看著就很麻煩的方法…)

運行命令:

brew install gtk+3
cd libs/mac
chmod +x loginactivator_mac
./loginactivator_mac

然後打開了一個界面:

點擊激活,這裡需要賬號當時綁定的手機號,配置完成後就OK啦

此時當前的文件夾下會有一個文件userInfo,文件中是一串字符串

Python接口拉取數據

大家可以嘗試運行下面的示例代碼:

代碼拉取的數據是000001.SZ,000002.SZ這兩個證券的股票名稱與IPO時間

from EmQuantAPI import c
import pandas as pd
# 登錄
loginresult = c.start()
print(loginresult)
# 數據
choice_data = c.css("000001.SZ,000002.SZ", "NAME,LISTDATE", "")
if choice_data.ErrorMsg == "success":
data_df = pd.DataFrame(choice_data.Data).T
data_df.columns = choice_data.Indicators
print(data_df)
# 登出
logoutresult = c.stop()

結果:

[EmQuantAPI Python] [Em_Info][2022-07-01 11:24:10]:The current version is EmQuantAPI(V2.5.3.4).
[EmQuantAPI Python] [Em_Info][2022-07-01 11:24:10]:verifying your token...
[EmQuantAPI Python] [Em_Info][2022-07-01 11:24:10]:connect server...
[EmQuantAPI Python] [Em_Info][2022-07-01 11:24:11]:start success!
ErrorCode=0, ErrorMsg=success, Data={}
[EmQuantAPI Python] [Em_Info][2022-07-01 11:24:11]:percentflag(for csd/css/cses) update success.
NAME LISTDATE
000001.SZ 平安銀行 1991/4/3
000002.SZ 萬科A 1991/1/29
[EmQuantAPI Python] [Em_Info][2022-07-01 11:24:12]:heartbeatthread end.

其中,前面的[EmQuantAPI Python]是登錄登出的日志,中間的對應data_df的數據如下:

 NAME LISTDATE
000001.SZ 平安銀行 1991/4/3
000002.SZ 萬科A 1991/1/29

更多代碼

請參考代碼生成的工具:http://quantapi.eastmoney.com/Cmd/ChoiceSerialSection?from=web

量化接口的數據是有每周的調用限制的:

  • 可調用接口及次數請查詢:http://quantapi.eastmoney.com/User/Authorization?from=web
  • 剩余的調用次數可以參考:http://quantapi.eastmoney.com/Flow?from=web

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved