亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

class類在python中獲取金融數(shù)據(jù)的實(shí)例方法

瀏覽:4日期:2022-07-02 15:36:49

我們搜集金融數(shù)據(jù),通常想要的是利用爬蟲的方法。其實(shí)我們最近所學(xué)的class不僅可以進(jìn)行類調(diào)用,在獲取數(shù)據(jù)方面同樣是可行的,很多小伙伴都比較關(guān)注理財(cái)方面的情況,對金融數(shù)據(jù)的需要也是比較多的。下面就class類在python中獲取金融數(shù)據(jù)的方法為大家?guī)碇v解。

使用tushare獲取所有A股每日交易數(shù)據(jù),保存到本地?cái)?shù)據(jù)庫,同時(shí)每日更新數(shù)據(jù)庫;根據(jù)行情數(shù)據(jù)進(jìn)行可視化和簡單的策略分析與回測。由于篇幅有限,本文著重介紹股票數(shù)據(jù)管理(下載、數(shù)據(jù)更新)的面向?qū)ο缶幊虘?yīng)用實(shí)例。

#導(dǎo)入需要用到的模塊import numpy as npimport pandas as pdfrom dateutil.parser import parsefrom datetime import datetime,timedelta#操作數(shù)據(jù)庫的第三方包,使用前先安裝pip install sqlalchemyfrom sqlalchemy import create_engine#tushare包設(shè)置import tushare as tstoken=’輸入你在tushare上獲得的token’pro=ts.pro_api(token)#使用python3自帶的sqlite數(shù)據(jù)庫#本人創(chuàng)建的數(shù)據(jù)庫地址為c:zjydb_stockfile=’sqlite:///c:zjydb_stock’#數(shù)據(jù)庫名稱db_name=’stock_data.db’engine = create_engine(file+db_name)class Data(object): def __init__(self, start=’20050101’, end=’20191115’, table_name=’daily_data’): self.start=start self.end=end self.table_name=table_name self.codes=self.get_code() self.cals=self.get_cals() #獲取股票代碼列表 def get_code(self): codes = pro.stock_basic(list_status=’L’).ts_code.values return codes #獲取股票交易日歷 def get_cals(self): #獲取交易日歷 cals=pro.trade_cal(exchange=’’) cals=cals[cals.is_open==1].cal_date.values return cals #每日行情數(shù)據(jù) def daily_data(self,code): try: df0=pro.daily(ts_code=code,start_date=self.start,end_date=self.end) df1=pro.adj_factor(ts_code=code,trade_date=’’) #復(fù)權(quán)因子 df=pd.merge(df0,df1) #合并數(shù)據(jù) except Exception as e: print(code) print(e) return df #保存數(shù)據(jù)到數(shù)據(jù)庫 def save_sql(self): for code in self.codes: data=self.daily_data(code) data.to_sql(self.table_name,engine, index=False,if_exists=’append’) #獲取最新交易日期 def get_trade_date(self): #獲取當(dāng)天日期時(shí)間 pass #更新數(shù)據(jù)庫數(shù)據(jù) def update_sql(self): pass #代碼省略 #查詢數(shù)據(jù)庫信息def info_sql(self):

代碼運(yùn)行

#假設(shè)你將上述代碼封裝成class Data#保存在’C:zjydb_stock’目錄下的down_data.py中import sys#添加到當(dāng)前工作路徑sys.path.append(r’C:zjydb_stock’)#導(dǎo)入py文件中的Data類from download_data import Data#實(shí)例類data=Data()#data.save_sql() #只需運(yùn)行一次即可data.update_sql() data.info_sql()

實(shí)例擴(kuò)展:

Python下,pandas_datareader模塊可以用于獲取研究數(shù)據(jù)。例子如下:

>>> from pandas_datareader.data import DataReader>>>>>> datas = DataReader(name=’AAPL’, data_source=’yahoo’, start=’2018-01-01’)>>>>>> type(datas)<class ’pandas.core.frame.DataFrame’>>>> datas Open High Low Close Adj Close Date2018-01-02 170.160004 172.300003 169.259995 172.259995 172.2599952018-01-03 172.529999 174.550003 171.960007 172.229996 172.2299962018-01-04 172.539993 173.470001 172.080002 173.029999 173.0299992018-01-05 173.440002 175.369995 173.050003 175.000000 175.0000002018-01-08 174.350006 175.610001 173.929993 174.350006 174.3500062018-01-09 174.550003 175.059998 173.410004 174.330002 174.3300022018-01-10 173.160004 174.300003 173.000000 174.289993 174.2899932018-01-11 174.589996 175.490005 174.490005 175.279999 175.2799992018-01-12 176.179993 177.360001 175.649994 177.089996 177.089996 VolumeDate2018-01-02 255559002018-01-03 295179002018-01-04 224346002018-01-05 236600002018-01-08 205678002018-01-09 215840002018-01-10 239599002018-01-11 186677002018-01-12 25226000>>>>>> print(datas.to_csv())Date,Open,High,Low,Close,Adj Close,Volume2018-01-02,170.160004,172.300003,169.259995,172.259995,172.259995,255559002018-01-03,172.529999,174.550003,171.960007,172.229996,172.229996,295179002018-01-04,172.539993,173.470001,172.080002,173.029999,173.029999,224346002018-01-05,173.440002,175.369995,173.050003,175.0,175.0,236600002018-01-08,174.350006,175.610001,173.929993,174.350006,174.350006,205678002018-01-09,174.550003,175.059998,173.410004,174.330002,174.330002,215840002018-01-10,173.160004,174.300003,173.0,174.289993,174.289993,239599002018-01-11,174.589996,175.490005,174.490005,175.279999,175.279999,186677002018-01-12,176.179993,177.360001,175.649994,177.089996,177.089996,25226000>>>

到此這篇關(guān)于class類在python中獲取金融數(shù)據(jù)的實(shí)例方法的文章就介紹到這了,更多相關(guān)class類怎樣在python中獲取金融數(shù)據(jù)內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 免费无遮挡嘿嘿嘿视频动态 | 在线免费黄色片 | 无遮挡一级毛片私人影院 | 国产xxxxx片免费观看 | 婷婷久久激情啪啪 | 国产99久久精品一区二区 | 国产日韩欧美在线 | 国产免费久久精品99 | 邪恶亚洲| 成人性生活免费看 | 日韩大片在线播放 | 中国特级黄一级真人毛片 | 亚洲欧美日韩综合在线一区二区三区 | 亚洲国产精品久久久久秋霞66 | 欧美亚洲人成网站在线观看刚交 | 国产精品剧情原创麻豆国产 | 国产人成亚洲第一网站在线播放 | 九九热线有精品视频99 | 亚洲成a人v天堂网 | 91免费国产高清在线 | 中国精品一级毛片免费播放 | 在线欧美一级毛片免费观看 | 国产精品亚洲精品日韩动图 | 亚洲综合激情五月色播 | 永久免费看毛片 | 人人干视频在线观看 | 亚洲色图视频在线 | 成年人黄色网址 | 99久久综合狠狠综合久久男同 | a级亚洲片精品久久久久久久 | 一级特黄aa大片一又好看 | 国产精品第三页在线看 | 欧美偷拍小视频 | 国产911情侣拍拍在线播放 | 黄色毛片视频免费 | 中国黄色一级大片 | 国产又黄不爽不遮挡视频 | 劲爆欧美第1页婷婷 | 色婷婷六月丁香在线观看 | 成人看片黄a免费看视频 | 幸福宝色多多 |