❶ 學python能做什麼
Python第三方模塊眾多,下面我介紹一些比較實用而又有趣的模塊,主要分為爬蟲、數據處理、可視化、機器學習、神經網路、股票財經、游戲這7個方面,主要內容如下:
1.爬蟲:
相信大部分人都用Python爬過數據,目前來說,比較流行的框架是scrapy,對爬取數據來說,簡單方便了不少,只需要自己添加少量的代碼,框架便可啟動開始爬取,當然,還有簡單地爬蟲包,像requests+BeautifulSoup,對於爬取簡單網頁來說,也足夠了:
如果你想要學好Python最好加入一個好的學習環境,可以來這個Q群,首先是629,中間是440,最後是234,這樣大家學習的話就比較方便,還能夠共同交流和分享資料
2.數據處理:
numpy,scipy,pandas這些包對於處理數據來說非常方便,線性代數、科學計算等,利用numpy處理起來非常方便,pandas提供的DataFrame類可以方便的處理各種類型的文件,像excel,csv等,是分析數據的利器:
3.可視化:
這里的包其實也挺多的,除了我們常用的matplotlib外,還有seaborn,pyecharts等,可以繪制出各種各樣類型的圖形,除了常見的線圖、餅圖和柱狀圖外,還可以繪制出地圖、詞雲圖、地理坐標系圖等,美觀大方,所需的代碼量還少,更容易上手:
4.機器學習:
說起python機器學習,大部分人都應該scikit-learn這個包,常見的機器學習演算法,像回歸、分類、聚類、降維、模型選擇等,這里都有現成的代碼可供利用,對於這機器學習方面感興趣的人來說,這是一個入門機器學習的好包:
5.神經網路:
說起神經網路,大部分人都應該會想起深度學習,對應的就會想到谷歌目前非常流行的深度學習框架—tensorflow,tesndorflow可被用於語音識別和圖像識別等眾多領域,其發展前景光明,對於這方面感興趣的科研人員來說,是一個很不錯的工具,當然,還有基於tensorflow的theano,keras等,都是學習神經網路的不錯選擇:
6.股票財經:
對於股票和財經比較感興趣的朋友來說,python也提供了現成的庫來獲取和分析股票財經數據—tushare,tushare是一個免費、開源的python財經數據介麵包,可以快速的獲取到國內大部分股票數據,對於金融分析人員來說,可以說是一個利器,降低了許多任務量:
7.游戲:
Python專門為游戲開發提供了一個平台—Pygame,對於想快速開發小型游戲的用戶來說,是一個很不錯的選擇,簡單易學、容易上手,脫離了低級語言的束縛,使用起來也挺方便的:
❷ 股票歷史數據介面
股票排行榜 里有個股診斷功能裡面有效的分析了大年夜盤及個股壓力位支撐位及消息面分析一切都是免費的。
❸ 新人發帖求助,python使用tushare股票分析包方法報錯
我是一名大學生,剛剛上手python,成功安裝了tushare包,但是調用的官方文檔的示例方法(get_hist_data)的時報錯:
AttributeError: 'mole' object has no attribute 'get_hist_data'
代碼是
[import tushare as ts
ts.get_hist_data('600848')][/code]
因為是示例,所以包應該下面有這個方法,我用print dir(ts) 看到下面只有
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'ts' ] 這幾個方法(顯然不是全部的方法)
希望各位能夠幫助下新人解答一下。
剛剛實際運行了一下,沒有報錯,你檢查一下是否安裝正確,tushare包的安裝直接用 pip install tushare 安裝即可,沒必要訪問官網,當然,你需要先安裝pip ,
❹ 股票池如何用python構建
股票池用python構建的方法是:使用第三方平台,目前可以使用的是聚寬,對比一下聚寬、優礦、大寬網(已經倒閉了),都大同小異,選哪個都一樣。
雖然這些平台都大同小異,但是代碼可不能簡單復制粘貼,因為底層函數庫是不一樣的,有可能在別的平台根本用不了某個函數,並且簡單復制到自己電腦中的python的話百分之百用不了。
代碼的思路是,每個月底進行調倉,選出市值最小的股票交易,去掉ST/*ST/停牌/漲停的股票,然後選擇最小市值的10隻,基準是創業板綜指,看看結果。
python構建數據獲取方法是:
這里使用為了接下來的操作需要將一定歷史范圍的股票數據下載下來,這里下載起始時間為20160101,截至時間為運行代碼的時間范圍的歷史日線數據。
這里以tushare為例, tushare獲取歷史數據有兩種方式。
第一種是以迭代歷史交易日的方式獲取所有歷史數據,假設獲取三年的歷史數據,一年一般220個交易日左右,那麼3年需要請求660多次左右,如果以這種方式的話,就下載數據的時間只需要1分鍾多點的樣子。
第二種是以迭代所有股票代碼的方式獲取所有歷史數據,股票數量有大概3800多個,需要請求3800多次,但是在積分有限的情況下一分鍾最多請求500次,也就意味著僅下載數據的時間至少需要大概8分鍾時間。
理論上,你獲取的歷史范圍超過17.3年,那麼使用第一種方式才比第二種方式快。
❺ 100銀子求助如何遍歷讀取TuShare的分筆股票數據
import tushare as ts
import time
while True:
df = ts.get_realtime_quotes('000581') #Single stock symbol
print df[['code','name','price','bid','ask','volume','amount','time']]
time.sleep(2)
根據 http://tushare.org/trading.html#id6 提供的例子,你可以包裝成函數,傳入你要獲取的股票代碼,df包含30個列的內容,你可以輸出你想要的列,也可以保存到資料庫里。
tushare.org上都寫得很清楚了。
遍歷讀取無非就是
import tushare as ts
df = ts.get_tick_data('600848',date='2014-01-09')
for i in df.index:
print df.loc[i]
print df.loc[i]['price']
其中i就是序號,以i為基礎你可以獲取所有row的數據,包括具體某一行某一列。python根據坐標讀取數據有多重方法,你學明白python後,tushare用起來就方便了。
❻ 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('結束')
❼ 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獲取股票價格,如tushare,如果發現股票當天漲幅在大盤之上(2點30到2點50判斷),買入持有一天,下跌當天就別買,你可以用概率論方法,根據資金同時持有5支,10支或20支,這樣不怕停盤影響,理論上可以跑贏大盤。
還有一種是操作etf,如大盤50 etf,300 etf,中小板etf,創業板etf,當天2.30分判斷那個etf上漲就買入那支,不上漲什麼都不買,持有一天,第二天如是。
❾ 如何從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行)
❿ 怎樣使用tushare的提供的數據與庫talib計算macd
安裝TuShare
方式1:pip install tushare
方式2:訪問https://pypi.python.org/pypi/tushare/下載安裝
方式3:將源代碼下載到本地python setup.py install
升級TuShare
1、先查看本地與線上的版本版本號:
pip search tushare
2、升級TuShare:
pip install tushare --upgrade
確認安裝成功
import tushare as ts
print ts.__version__
獲取歷史交易數據
import tushare as ts
df = ts.get_hist_data('600848')
ts.get_hist_data('600848',ktype='W') #獲取周k線數據
ts.get_hist_data('600848',ktype='M') #獲取月k線數據
ts.get_hist_data('600848',ktype='5') #獲取5分鍾k線數據
ts.get_hist_data('600848',ktype='15') #獲取15分鍾k線數據
ts.get_hist_data('600848',ktype='30') #獲取30分鍾k線數據
ts.get_hist_data('600848',ktype='60') #獲取60分鍾k線數據
ts.get_hist_data('sh')#獲取上證指數k線數據,其它參數與個股一致,下同
ts.get_hist_data('sz')#獲取深圳成指k線數據 ts.get_hist_data('hs300')#獲取滬深300指數k線數據
ts.get_hist_data('sz50')#獲取上證50指數k線數據
ts.get_hist_data('zxb')#獲取中小板指數k線數據
ts.get_hist_data('cyb')#獲取創業板指數k線數據
Python財經數據介麵包TuShare的使用
獲取歷史分筆數據
df = ts.get_tick_data('000756','2015-03-27')
df.head(10)
Python財經數據介麵包TuShare的使用
獲取實時分筆數據
df = ts.get_realtime_quotes('000581')
print df[['code','name','price','bid','ask','volume','amount','time']]
返回值說明:
0:name,股票名字
1:open,今日開盤價
2:pre_close,昨日收盤價
3:price,當前價格
4:high,今日最高價
5:low,今日最低價
6:bid,競買價,即「買一」報價
7:ask,競賣價,即「賣一」報價
8:volumn,成交量 maybe you need do volumn/100
9:amount,成交金額(元 CNY)
10:b1_v,委買一(筆數 bid volume)
11:b1_p,委買一(價格 bid price)
12:b2_v,「買二」
13:b2_p,「買二」
14:b3_v,「買三」
15:b3_p,「買三」
16:b4_v,「買四」
17:b4_p,「買四」
18:b5_v,「買五」
19:b5_p,「買五」
20:a1_v,委賣一(筆數 ask volume)
21:a1_p,委賣一(價格 ask price)
...
30:date,日期
31:time,時間