最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年12月10日 15:32:31   作者:小妮淺淺  
在本篇文章里小編給大家整理了關(guān)于class類怎樣在python中獲取金融數(shù)據(jù)的相關(guān)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。

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

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

#導(dǎo)入需要用到的模塊
import numpy as np
import pandas as pd
from dateutil.parser import parse
from datetime import datetime,timedelta
#操作數(shù)據(jù)庫的第三方包,使用前先安裝pip install sqlalchemy
from sqlalchemy import create_engine
#tushare包設(shè)置
import tushare as ts
token='輸入你在tushare上獲得的token'
pro=ts.pro_api(token)
#使用python3自帶的sqlite數(shù)據(jù)庫
#本人創(chuàng)建的數(shù)據(jù)庫地址為c:\zjy\db_stock\
file='sqlite:///c:\\zjy\\db_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)天日期時間
    pass
  #更新數(shù)據(jù)庫數(shù)據(jù)
  def update_sql(self):
    pass #代碼省略
  #查詢數(shù)據(jù)庫信息      
  def info_sql(self):

代碼運行

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

實例擴(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 \
Date
2018-01-02 170.160004 172.300003 169.259995 172.259995 172.259995
2018-01-03 172.529999 174.550003 171.960007 172.229996 172.229996
2018-01-04 172.539993 173.470001 172.080002 173.029999 173.029999
2018-01-05 173.440002 175.369995 173.050003 175.000000 175.000000
2018-01-08 174.350006 175.610001 173.929993 174.350006 174.350006
2018-01-09 174.550003 175.059998 173.410004 174.330002 174.330002
2018-01-10 173.160004 174.300003 173.000000 174.289993 174.289993
2018-01-11 174.589996 175.490005 174.490005 175.279999 175.279999
2018-01-12 176.179993 177.360001 175.649994 177.089996 177.089996

       Volume
Date
2018-01-02 25555900
2018-01-03 29517900
2018-01-04 22434600
2018-01-05 23660000
2018-01-08 20567800
2018-01-09 21584000
2018-01-10 23959900
2018-01-11 18667700
2018-01-12 25226000
>>>
>>> print(datas.to_csv())
Date,Open,High,Low,Close,Adj Close,Volume
2018-01-02,170.160004,172.300003,169.259995,172.259995,172.259995,25555900
2018-01-03,172.529999,174.550003,171.960007,172.229996,172.229996,29517900
2018-01-04,172.539993,173.470001,172.080002,173.029999,173.029999,22434600
2018-01-05,173.440002,175.369995,173.050003,175.0,175.0,23660000
2018-01-08,174.350006,175.610001,173.929993,174.350006,174.350006,20567800
2018-01-09,174.550003,175.059998,173.410004,174.330002,174.330002,21584000
2018-01-10,173.160004,174.300003,173.0,174.289993,174.289993,23959900
2018-01-11,174.589996,175.490005,174.490005,175.279999,175.279999,18667700
2018-01-12,176.179993,177.360001,175.649994,177.089996,177.089996,25226000

>>>

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

相關(guān)文章

  • Python arrow模塊使用方法

    Python arrow模塊使用方法

    Arrow 是用于處理日期和時間的 Python 模塊。 與內(nèi)置的日期和時間工具相比,它使創(chuàng)建,操作,格式化和轉(zhuǎn)換日期,時間和時間戳變得更加容易
    2022-10-10
  • Python通過命令開啟http.server服務(wù)器的方法

    Python通過命令開啟http.server服務(wù)器的方法

    這篇文章主要給大家介紹了關(guān)于Python通過命令開啟http.server服務(wù)器的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • 關(guān)于pandas的離散化,面元劃分詳解

    關(guān)于pandas的離散化,面元劃分詳解

    今天小編就為大家分享一篇關(guān)于pandas的離散化,面元劃分詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python實現(xiàn)個人微信號自動監(jiān)控告警的示例

    Python實現(xiàn)個人微信號自動監(jiān)控告警的示例

    今天小編就為大家分享一篇Python實現(xiàn)個人微信號自動監(jiān)控告警的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python、Matlab求定積分的實現(xiàn)

    python、Matlab求定積分的實現(xiàn)

    今天小編就為大家分享一篇python、Matlab求定積分的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python利用urllib實現(xiàn)爬取京東網(wǎng)站商品圖片的爬蟲實例

    python利用urllib實現(xiàn)爬取京東網(wǎng)站商品圖片的爬蟲實例

    下面小編就為大家?guī)硪黄猵ython利用urllib實現(xiàn)爬取京東網(wǎng)站商品圖片的爬蟲實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • python使用BeautifulSoup分頁網(wǎng)頁中超鏈接的方法

    python使用BeautifulSoup分頁網(wǎng)頁中超鏈接的方法

    這篇文章主要介紹了python使用BeautifulSoup分頁網(wǎng)頁中超鏈接的方法,涉及Python使用BeautifulSoup模塊操作網(wǎng)頁鏈接的技巧,需要的朋友可以參考下
    2015-04-04
  • python實現(xiàn)學(xué)生成績測評系統(tǒng)

    python實現(xiàn)學(xué)生成績測評系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)學(xué)生成績測評系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • 教你利用Python玩轉(zhuǎn)histogram直方圖的五種方法

    教你利用Python玩轉(zhuǎn)histogram直方圖的五種方法

    這篇文章主要給大家介紹了關(guān)于如何利用Python玩轉(zhuǎn)histogram直方圖的五種方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • 使用Python爬取最好大學(xué)網(wǎng)大學(xué)排名

    使用Python爬取最好大學(xué)網(wǎng)大學(xué)排名

    這篇文章主要介紹了如何使用Python爬取最好大學(xué)網(wǎng)大學(xué)排名,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02

最新評論

乐东| 安平县| 微山县| 绍兴市| 石家庄市| 怀化市| 长垣县| 朔州市| 呼玛县| 萨嘎县| 分宜县| 新津县| 稷山县| 溧水县| 新昌县| 甘谷县| 吐鲁番市| 彭泽县| 新晃| 道真| 高台县| 丹寨县| 缙云县| 峨山| 山阴县| 宝兴县| 开封市| 壤塘县| 望都县| 临泽县| 鹤岗市| 关岭| 浑源县| 兴城市| 天长市| 秭归县| 商洛市| 江陵县| 民县| 环江| 元朗区|