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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python金融数据怎么获取_class类怎样在python中获取金融数据?

發布時間:2024/9/27 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python金融数据怎么获取_class类怎样在python中获取金融数据? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們搜集金融數據,通常想要的是利用爬蟲的方法。其實我們最近所學的class不僅可以進行類調用,在獲取數據方面同樣是可行的,很多小伙伴都比較關注理財方面的情況,對金融數據的需要也是比較多的。下面就class類在python中獲取金融數據的方法為大家帶來講解。

使用tushare獲取所有A股每日交易數據,保存到本地數據庫,同時每日更新數據庫;根據行情數據進行可視化和簡單的策略分析與回測。由于篇幅有限,本文著重介紹股票數據管理(下載、數據更新)的面向對象編程應用實例。

#導入需要用到的模塊

import?numpy?as?np

import?pandas?as?pd

from?dateutil.parser?import?parse

from?datetime?import?datetime,timedelta

#操作數據庫的第三方包,使用前先安裝pip?install?sqlalchemy

from?sqlalchemy?import?create_engine

#tushare包設置

import?tushare?as?ts

token='輸入你在tushare上獲得的token'

pro=ts.pro_api(token)

#使用python3自帶的sqlite數據庫

#本人創建的數據庫地址為c:\zjy\db_stock\

file='sqlite:///c:\\zjy\\db_stock\\'

#數據庫名稱

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

#每日行情數據

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='')

#復權因子

df=pd.merge(df0,df1)??#合并數據

except?Exception?as?e:

print(code)

print(e)

return?df

#保存數據到數據庫

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):

#獲取當天日期時間

pass

#更新數據庫數據

def?update_sql(self):

pass?#代碼省略

#查詢數據庫信息

def?info_sql(self):

pass?#代碼省略

代碼運行#假設你將上述代碼封裝成class?Data

#保存在'C:\zjy\db_stock'目錄下的down_data.py中

import?sys

#添加到當前工作路徑

sys.path.append(r'C:\zjy\db_stock')

#導入py文件中的Data類

from?download_data?import?Data

#實例類

data=Data()

#data.save_sql()?#只需運行一次即可

data.update_sql()

data.info_sql()

補充:類的專有方法

__init__ : 構造函數,在生成對象時調用

__del__ : 析構函數,釋放對象時使用

__repr__ : 打印,轉換

__setitem__ : 按照索引賦值

__getitem__: 按照索引獲取值

__len__: 獲得長度

__cmp__: 比較運算

__call__: 函數調用

__add__: 加運算

__sub__: 減運算

__mul__: 乘運算

__truediv__: 除運算

__mod__: 求余運算

__pow__: 乘方

本篇使用class類在python中獲取金融數據的方法,到這里就全部分享給大家了。相信很多小伙伴已經用它開始采集金融數據了,結尾一些類的方法大家可以了解下,都是能經常用到的。

總結

以上是生活随笔為你收集整理的python金融数据怎么获取_class类怎样在python中获取金融数据?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。