⑴ tushare的介面怎麼樣使用
Tushare簡介
Tushare金融大數據開放社區,免費提供各類金融數據和區塊鏈數據,助力智能投資與創新型投資。網址:https://tushare.pro/register?reg=527754
註:推廣一下分享鏈接,幫我攢點積分,你好我也好 ^_^ 。
python環境安裝
強烈建議使用Anaconda,Anaconda的安裝見:https://tushare.pro/document/1?doc_id=29
python的IDE我使用vscode,在Anaconda主界面中直接打開vscode,它會幫你設置好環境,簡單方便。
tushare庫安裝
打開vscode的[查看]->[終端],輸入 pip install tushare 即可安裝tushare。輸入 pip install tushare --upgrade 即可更新tushare。缺少或者更新其他python庫,參照這個方法即可。
環境安裝好後,就可以開工了。直接上代碼,這份代碼從Tushare下載股票列表數據,保存為csv文件,同時保存在mssql資料庫中。
注意:在to_sql中的schema參數為資料庫名,需要帶上該資料庫的角色,我使用sa登錄,資料庫隸屬於dbo。使用to_sql不需要創建表,pandas會自動幫你創建好,也不需要自己寫插入數據的代碼,還是很方便的。如果你在表中增加了主鍵或者唯一索引,有重復數據時批量入庫會失敗。tushare本身是有少量重復數據的。採用逐行入庫的方式速度會比較慢,需要根據業務自己衡量選擇。
#!/usr/bin/python3
# coding:utf-8
# -*- coding: utf-8 -*-
import time
import datetime
import random
import tushare
import pandas
import pymssql
import sqlalchemy
#需修改的參數
stock_list_file = 'stock_list.csv' #股票列表文件csv
#tushare token
tushare_token='你自己的token'
#資料庫參數
db_host = '127.0.0.1'
db_user = 'sa'
db_password = 'pwd'
db_db = 'quantum'
db_charset = 'utf8'
db_url = 'mssql+pymssql://sa:[email protected]:1433/quantum'
#股票列表
def get_stock_basic() :
print('開始下載股票列表數據')
#獲取tushare
pro = tushare.pro_api()
#下載
data = pro.stock_basic(fields='ts_code,symbol,name,fullname,list_status,list_date,delist_date')
#保存到csv文件
data.to_csv(stock_list_file)
#入庫
engine = sqlalchemy.create_engine(db_url)
try:
#先一次性入庫,異常後逐條入庫
pandas.io.sql.to_sql(data, 'stock_basic', engine, schema='quantum.dbo', if_exists='append', index=False)
except :
#逐行入庫
print('批量入庫異常,開始逐條入庫.')
for indexs in data.index :
line = data.iloc[indexs:indexs+1, :]
try:
pandas.io.sql.to_sql(line, 'stock_basic', engine, schema='quantum.dbo', if_exists='append', index=False, chunksize=1)
except:
print('股票列表數據入庫異常:')
print(line)
finally:
pass
finally:
pass
print('完成下載股票列表數據')
return 1
#全量下載所有股票列表數據
if __name__ == '__main__':
print('開始...')
#初始化tushare
tushare.set_token(tushare_token)
print('獲取股票列表')
get_stock_basic()
print('結束')
⑵ 請問有類似tushare的財經股票數據API嗎
題主是做量化回測嗎?我覺得用大智慧、同花順的公式平台就可以了。這些都是上市公司,數據齊備,公式平台開發也很簡單,基本上不需要有編程經驗,看看軟體中的指標、公式等例子就會使用了。而且每個指標都有詳細的中文說明。
如果是企業機構等,有專門的金融實時行情API介面,例如微盛的金融實時行情API介面。我之前在券商實習時,師兄所在部門就使用微盛的金融API介面進行測試。他們的優點是支持市場多,幾乎涵蓋了內地、海外的所有主要市場,包括現貨、期貨、期權。例如師兄當時做上證50的套利測試,微盛的API介麵包括了上證50成分股現貨、中金所的上證50股指期貨、以及上證50期權(很多介面都沒有期權,這樣不方便做套利測試)。不過他們介面的缺點是需要有編程基礎,沒有編程基礎是搞不定的(需要有專門的程序員來開發),這個不適合普通投資者使用。
⑶ 我想用c#寫一些股票方面的小程序,請問有沒有數據介面
您好,我們知道不管是不是要做股票模擬交易,還是股票自動化交易,都是需要股票數據的,這樣我就必須找到股票數據介面。
經常有在sina看股票的就可以知道sina的股票數據也是即時的,所以我們也可以通過sina來實現股票數據介面。
可以在這邊下載新浪股票數據介面。新浪股票數據介面,是免費的股票數據介面 但是新浪股票數據介面有一個缺陷,就是它不好提供全市場的數據,如果我們想要得到全市場的數據,而加大對新浪的需求的話 可能會導致新浪把我們的IP給封了,這樣就悲劇啦。
所以我們需要找到的是股票商業數據介面, 現在有有一些商業公司在提供,比如銀江股票介面,數暢股票介面,網際風股票介面, 這些數據的介面大部分在100-200每年,用起來的話還算是比較穩定的,但是他們提供的是傳統的C++介面,然後做為我們新生代的程序員 看C++就有點累了。然後我們這邊就提供了寫好的C#股票數據介面,你可以方便把它做成C#行情寫庫軟體,也可以把它做成C#的webservice股票介面。 我們股票行情寫庫對股票數據介面裡面的大部分數據進行了優化,支持股票實時數據,股票分時數據,股票日線數據,股票日k線數據補全,除權數據。 未來還將支持財務數據。 我們自己的股票模擬交易也是用它的。
到現在已經穩定運行超過了1年了。 免費下載 C#行情寫庫軟體 。 源代碼的價格是800元。 行情寫庫軟體的價格是400元。
⑷ 怎樣用python處理股票
用Python處理股票需要獲取股票數據,以國內股票數據為例,可以安裝Python的第三方庫:tushare;一個國內股票數據獲取包。可以在網路中搜索「Python tushare」來查詢相關資料,或者在tushare的官網上查詢說明文檔。
⑸ 股票行情數據介面,一般哪裡有
你再網路搜一下「量億數據」,裡面有各種股票數據介面
⑹ 如何從tushare中調取十大股東數據
0. 簡介
TuShare是一個免費、開源的Python財經數據介麵包。主要實現對股票等金融數據從數據採集、清洗加工 到 數據存儲的過程,能夠為金融分析人員提供快速、整潔、和多樣的便於分析的數據,為他們在數據獲取方面極大地減輕工作量,使他們更加專注於策略和模型的研究與實現上。考慮到Python pandas包在金融量化分析中體現出的優勢,TuShare返回的絕大部分的數據格式都是pandas DataFrame類型。
1. 歷史行情
獲取個股歷史交易數據(包括均線數據),可以通過參數設置獲取日k線、周k線、月k線,以及5分鍾、15分鍾、30分鍾和60分鍾k線數據。本介面只能獲取近3年的日線數據,適合搭配均線數據進行選股和分析。
參數說明:
code:股票代碼,即6位數字代碼,或者指數代碼(sh=上證指數 sz=深圳成指 hs300=滬深300指數 sz50=上證50 zxb=中小板 cyb=創業板)
start:開始日期,格式YYYY-MM-DD
end:結束日期,格式YYYY-MM-DD
ktype:數據類型,D=日k線 W=周 M=月 5=5分鍾 15=15分鍾 30=30分鍾 60=60分鍾,默認為D
retry_count:當網路異常後重試次數,默認為3
pause:重試時停頓秒數,默認為0
返回值說明:
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:換手率[註:指數無此項]
(1) #獲取全部日k線數據(查看前11行)
⑺ python tushare炒股好用嗎
[python] view plain
#!/usr/bin/python
# coding: UTF-8
"""This script parse stock info"""
import tushare as ts
def get_all_price(code_list):
'''''process all stock'''
df = ts.get_realtime_quotes(STOCK)
print df
if __name__ == '__main__':
STOCK = ['600219', ##南山鋁業
'000002', ##萬 科A
'000623', ##吉林敖東
'000725', ##京東方A
'600036', ##招商銀行
'601166', ##興業銀行
'600298', ##安琪酵母
'600881', ##亞泰集團
'002582', ##好想你
'600750', ##江中葯業
'601088', ##中國神華
'000338', ##濰柴動力
'000895', ##雙匯發展
'000792'] ##鹽湖股份
get_all_price(STOCK)
上述的代碼就是調用 ts 的 get_realtime_quotes 這個介面,獲取並列印對應的股票數據。
保存成tushare-example.py這個文件後,執行結果如下:
[python] view plain
# python tushare-example.py
name open pre_close price high low bid ask \
0 南山鋁業 6.090 6.040 6.020 6.240 6.000 6.010 6.030
1 萬 科A 0.00 24.43 0.00 0.00 0 0.00 0.00
2 吉林敖東 23.80 23.89 23.42 23.81 23.39 23.41 23.42
3 京東方A 2.30 2.31 2.30 2.31 2.29 2.29 2.30
4 招商銀行 14.900 14.880 14.860 14.930 14.780 14.870 14.880
5 興業銀行 14.380 14.380 14.420 14.500 14.350 14.420 14.430
6 安琪酵母 32.570 32.610 32.270 33.500 32.010 32.260 32.290
7 亞泰集團 5.020 5.040 4.920 5.030 4.910 4.910 4.920
8 好想你 0.00 15.62 0.00 0.00 0 0.00 0.00
9 江中葯業 25.910 26.050 25.510 26.100 25.500 25.500 25.510
10 中國神華 13.150 13.130 13.100 13.220 13.090 13.090 13.100
11 濰柴動力 7.26 7.24 7.18 7.28 7.16 7.17 7.18
12 雙匯發展 18.15 18.17 18.20 18.25 18.10 18.20 18.21
13 鹽湖股份 18.21 18.37 17.84 18.36 17.80 17.83 17.84
volume amount ... a2_p a3_v a3_p a4_v a4_p \
0 57575165 351584271.000 ... 6.040 649 6.050 764 6.060
1 0 0.00 ... 0.00 0.00 0.00
2 11613023 274208845.93 ... 23.43 260 23.44 3 23.45
3 200290823 460365710.26 ... 2.31 121698 2.32 65422 2.33
4 16885368 250744421.000 ... 14.890 2746 14.900 1060 14.910
5 44311362 639044453.000 ... 14.440 2299 14.450 1971 14.460
6 6430819 211088364.000 ... 32.300 50 32.390 3 32.400
7 11602430 57638953.000 ... 4.930 1358 4.940 1207 4.950
8 0 0.00 ... 0.00 0.00 0.00
9 8142359 209824301.000 ... 25.520 37 25.530 48 25.540
10 11113228 146177929.000 ... 13.110 176 13.120 92 13.130
11 13815858 99641720.65 ... 7.19 1783 7.20 540 7.21
12 3251027 59110247.93 ... 18.22 235 18.23 248 18.24
13 14408288 259983524.09 ... 17.85 118 17.86 22 17.87
a5_v a5_p date time code
0 575 6.070 2016-02-05 15:00:00 600219
1 0.00 2016-02-05 15:05:56 000002
2 19 23.46 2016-02-05 15:05:56 000623
3 55669 2.34 2016-02-05 15:05:56 000725
4 790 14.920 2016-02-05 15:00:00 600036
5 3526 14.470 2016-02-05 15:00:00 601166
6 8 32.470 2016-02-05 15:00:00 600298
7 893 4.960 2016-02-05 15:00:00 600881
8 0.00 2016-02-05 15:05:56 002582
9 78 25.550 2016-02-05 15:00:00 600750
10 206 13.140 2016-02-05 15:00:00 601088
11 668 7.22 2016-02-05 15:05:56 000338
12 506 18.25 2016-02-05 15:05:56 000895
13 28 17.88 2016-02-05 15:05:56 000792
bingo!
⑻ 股票池如何用python構建
股票池用python構建的方法是:使用第三方平台,目前可以使用的是聚寬,對比一下聚寬、優礦、大寬網(已經倒閉了),都大同小異,選哪個都一樣。
雖然這些平台都大同小異,但是代碼可不能簡單復制粘貼,因為底層函數庫是不一樣的,有可能在別的平台根本用不了某個函數,並且簡單復制到自己電腦中的python的話百分之百用不了。
代碼的思路是,每個月底進行調倉,選出市值最小的股票交易,去掉ST/*ST/停牌/漲停的股票,然後選擇最小市值的10隻,基準是創業板綜指,看看結果。
python構建數據獲取方法是:
這里使用為了接下來的操作需要將一定歷史范圍的股票數據下載下來,這里下載起始時間為20160101,截至時間為運行代碼的時間范圍的歷史日線數據。
這里以tushare為例, tushare獲取歷史數據有兩種方式。
第一種是以迭代歷史交易日的方式獲取所有歷史數據,假設獲取三年的歷史數據,一年一般220個交易日左右,那麼3年需要請求660多次左右,如果以這種方式的話,就下載數據的時間只需要1分鍾多點的樣子。
第二種是以迭代所有股票代碼的方式獲取所有歷史數據,股票數量有大概3800多個,需要請求3800多次,但是在積分有限的情況下一分鍾最多請求500次,也就意味著僅下載數據的時間至少需要大概8分鍾時間。
理論上,你獲取的歷史范圍超過17.3年,那麼使用第一種方式才比第二種方式快。
⑼ 求助大神 有沒有股票實時行情的API介面
對於個人投資者,一般的看盤軟體中,通過自定義公式介面,可以獲取到股票實時行情的。例如 通達信、同花順、大智慧都支持。這個就相當於股票實時行情的API介面。這種方式採用的就是股票軟體中的公式介面,一般都是這些軟體中自帶的公式語言,編程比較簡單,普通用戶一般也可很快上手,使用也比較方便。
如果是企業用戶,有專門的金融實時行情API介面的提供方,例如微盛的金融實時行情API介面。這種方式需要軟體開發人員才能開發,使用的就是真正的計算機語言,C、C#、java、php等等,更專業些,不太適合普通用戶使用。