国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何利用Python 和 pandas_market_calendars 進(jìn)行高效的財務(wù)數(shù)據(jù)分析

pandas_market_calendars 是一個 Python 庫,可讓您深入了解交易市場。把文章涵蓋了 pandas_market_calendars 庫的幾個方面。

pandas_market_calendars

關(guān)于 pandas_market_calendars

pandas_market_calendars是Quantopian的Zipline軟件包的一部分,完全面向金融領(lǐng)域的用戶。用戶可以利用該庫進(jìn)行以下操作:

生成日期范圍

  • 識別節(jié)假日

  • 計算兩個日期之間的交易日數(shù)。

  • 交易所和場外市場的詳細(xì)信息

語法

讓我們看一下 pandas_market_calendars 的語法,先安裝

pip install pandas_market_calendars

使用以下語句在 python 中引入使用,您可以開始使用該庫:

import pandas_market_calendars as mcal

使用Anaconda安裝

要使用Anaconda安裝此庫,請使用以下命令。其中任何一個都將幫助您完成安裝。

conda install -c conda-forge pandas_market_calendars
conda install -c "conda-forge/label/cf202003" pandas_market_calendars

用途

這個庫的其他用途包括:

  • 金融

  • 時間序列分析

  • 生成數(shù)據(jù)序列

  • 創(chuàng)建自定義節(jié)假日日歷

依賴關(guān)系

pandas_market_calendars的依賴關(guān)系有兩種類型:直接和間接。建議在安裝此庫時檢查所有這些依賴關(guān)系。直接依賴關(guān)系有4個:

  • exchange-calendars

  • pandas

  • python-dateutil

  • pytz

間接依賴關(guān)系有6個:

  • korean-lunar-calendar

  • numpy

  • pyluach

  • six

  • toolz

  • tzdata

使用示例

現(xiàn)在讓我們了解如何使用這個出色的庫。

import pandas_market_calendars as mcal
 
# 獲取紐約證券交易所(NYSE)的日歷
nyse = mcal.get_calendar('NYSE')
 
# 獲取所有可用日歷的列表
print(mcal.get_calendar_names())
 
# 檢查一個日期是否是市場假日
print(nyse.is_holiday('2023-10-23'))
 
# 獲取給定日期后的下一個工作日
print(nyse.next_open_after('2023-10-23'))
 
# 在兩個日期之間生成一系列工作日期
print(mcal.date_range('2023-10-23', '2023-11-03', calendar='NYSE'))

輸出結(jié)果

['ASX', 'BATS', 'CME', 'EUREX', 'FXCM', 'GLOBEX', 'HKEX', 'ICE', 'LSE', 'NASDAQ', 'NKY', 'NYSE', 'NYSEARCA', 'OTC', 'SGX', 'SSE', 'TSX']
False
2023-10-24
DatetimeIndex(['2023-10-24', '2023-10-25', '2023-10-26', '2023-10-27', '2023-10-30', '2023-10-31', '2023-11-01', '2023-11-02'], dtype='datetime64[ns]', freq='B')

正常交易時間

regular_market_times函數(shù)顯示市場是否開放進(jìn)行交易。通過這種方式,可以初始化過去的數(shù)據(jù)或了解未來的事件。regular_market_times是日歷對象的一個屬性。

import pandas_market_calendars as mcal
 
# 獲取紐約證券交易所(NYSE)的日歷
nyse = mcal.get_calendar('NYSE')
 
# 獲取NYSE的常規(guī)交易時間
print(nyse.regular_market_times)
 
# 獲取特定日期的常規(guī)交易時間
print(nyse.schedule('2023-10-24', include_times=True))

輸出結(jié)果

{'market_open': ((None, time(9, 30)), ('1902-03-04', time(9, 30))), 'market_close': ((None, time(16, 0)), ('1901-02-03', time(16, 0)))}
[('2023-10-24 09:30:00', '2023-10-24 16:00:00')]

使用pandas_market_calendars獲取日期范圍

在獲得日歷后,您可以了解市場將開放的具體日期。這個輸出會讓您知道交易日的具體日期。pandas_market_calendars的date_range函數(shù)幫助用戶獲取這個日期范圍。

import pandas_market_calendars as mcal
 
# 獲取紐約證券交易所(NYSE)的日歷
nyse_calendar = mcal.get_calendar('NYSE')
 
# 獲取下個月的日期范圍
next_month = nyse_calendar.date_range('2023-11-01', '2023-11-30')
 
# 打印日期范圍
print(next_month)

輸出結(jié)果:

DatetimeIndex(['2023-11-01', '2023-11-02', '2023-11-03', '2023-11-06',
               '2023-11-07', '2023-11-08', '2023-11-09', '2023-11-10',
               '2023-11-13', '2023-11-14', '2023-11-15', '2023-11-16',
               '2023-11-17', '2023-11-20', '2023-11-21', '2023-11-22',
               '2023-11-27', '2023-11-28', '2023-11-29'],
              dtype='datetime64[ns]', freq='D')

市場假期

現(xiàn)在,一旦您獲得了所選擇的日歷,您可能想要知道哪些日期是市場假期或其他形式的市場閉市。為此,pandas_market_calendars提供了holidays函數(shù)。您只需將日期作為函數(shù)的參數(shù),并且您將了解到市場在您提供的日期中有哪些假期。

python
# 獲取美聯(lián)儲日歷
us_federal_reserve_calendar = mcal.get_calendar('USFederalReserve')
 
# 獲取下個月的所有假期和其他市場閉市日
holidays = us_federal_reserve_calendar.holidays('2023-11-01', '2023-11-30')
 
# 打印假期列表
print(holidays)

所以這個日歷的輸出是:

['感恩節(jié)']

交易日計數(shù)

Python的pandas_market_calendars具有讓投資者了解交易日數(shù)量的功能。交易日計數(shù)提供了用戶需要指定的兩個日期之間的總交易日數(shù)的整數(shù)格式。對于那些考慮這些因素預(yù)先計劃交易收入的人來說,這非常有用。

# 獲取紐約證券交易所(NYSE)的日歷
nyse_calendar = mcal.get_calendar('NYSE')
 
# 計算2023-11-01至2023-11-30之間的交易日數(shù)
num_trading_days = nyse_calendar.business_days('2023-11-01', '2023-11-30')
 
# 打印交易日數(shù)
print(num_trading_days)

輸出結(jié)果:

使用pandas_market_calendars庫

使用pandas_market_calendars庫可以獲取特定市場的日期限制。市場的數(shù)據(jù)限制可能是由以下原因引起的:

  • 市場可能已經(jīng)停止運營

  • 公司可能被收購

  • 數(shù)據(jù)提供商不再為該特定證券或交易所提供支持

通過start_date和end_date可以幫助用戶了解日期限制。請參考下面的代碼以理解其用法:

import pandas_market_calendars as mcal
nyse_calendar = mcal.get_calendar('NYSE')
start_date = nyse_calendar.start_date
end_date = nyse_calendar.end_date
print('Start date:', start_date)
print('End date:', end_date)

輸出結(jié)果將顯示該日歷開始運行的日期以及截至日期,格式如下:


文章來源地址http://www.zghlxwxcb.cn/article/593.html

Start date: 1875-05-17 00:00:00
End date: 2203-12-31 00:00:00

如果您想了解超出日期限制的交易日,請使用extend()函數(shù),但無法保證信息的準(zhǔn)確性。最好檢查日歷給定時間范圍內(nèi)提供的日期。但是,如果您仍然希望了解其工作原理,可以參考以下代碼:

import pandas_market_calendars as mcal
nyse_calendar = mcal.get_calendar('NYSE')
next_year = nyse_calendar.extend('2024-01-01', '2024-12-31')
print('Next year:', next_year)

輸出將包含超出范圍的日期,如下所示:

Next year: DatetimeIndex([
'2023-12-31'
, 
'2024-01-01'
, 
'2024-01-02'
, 
'2024-01-03'
, 
'2024-01-04'
, 
'2024-01-05'
, 
'2024-01-06'
, 
'2024-01-07'
, 
'2024-01-08'
, 
'2024-01-09'
, 
'2024-01-10'
, 
'2024-01-11'
, 
'2024-01-12'
, 
'2024-01-13'
, 
'2024-01-14'
, 
'2024-01-15'
, 
'...

設(shè)置時區(qū)

如果您想在pandas_market_calendars中設(shè)置特定的時區(qū),可以使用兩種方法之一:

  • 使用schedule()方法的timezone參數(shù)

  • 使用市場日歷對象的timezone屬性

使用schedule()方法的timezone參數(shù)

使用該方法非常簡單易懂。您可以使用以下代碼。schedule()方法具有timezone參數(shù),該參數(shù)接受您指定的時區(qū)作為參數(shù)。如果您不提供時區(qū),則將以UTC格式輸出。

import pandas_market_calendars as mcal
import pytz
nyse_calendar = mcal.get_calendar('NYSE')
pacific_timezone = pytz.timezone('America/Los_Angeles')
# 以太平洋時間(PT)獲取紐約證交所的開盤和收盤時間
nyse_business_days = nyse_calendar.schedule(timezone=pacific_timezone)
print(nyse_business_days)

如上所示,輸出結(jié)果將顯示交易日期以及市場的開盤和收盤時間。

使用市場日歷對象的timezone屬性

使用此方法,您可以在不同的時區(qū)中工作。它可以提供市場的開盤和收盤時間。相比于schedule()方法,它的函數(shù)調(diào)用較少。因此,例如,如果您正在使用NYSE日歷,并希望將時區(qū)設(shè)置為太平洋時間,請嘗試以下代碼:

import pandas_market_calendars as mcal
import pytz
nyse_calendar = mcal.get_calendar('NYSE')
pacific_timezone = pytz.timezone('America/Los_Angeles')
# 將紐約證交所的默認(rèn)時區(qū)設(shè)置為太平洋時間
nyse_calendar.timezone = pacific_timezone
# 獲取紐約證交所的開盤和收盤時間
nyse_business_days = nyse_calendar.schedule()
print(nyse_business_days)

輸出結(jié)果將是這樣的格式:

   market_open  market_close
2023-10-31     06:30:00     13:00:00
2023-11-01     06:30:00     13:00:00
2023-11-02     06:30:00     13:00:00
...

如果您想獲取特定市場的開盤和收盤時間段,可以使用pandas_market_calendars庫中的schedule()函數(shù)。以下是一個示例代碼,演示如何獲取紐約證交所(NYSE)的開盤和收盤時間

import pandas_market_calendars as mcal

nyse_calendar = mcal.get_calendar('NYSE')

start_date = '2022-10-01'
end_date = '2022-10-31'

schedule = nyse_calendar.schedule(start_date=start_date, end_date=end_date)

print(schedule)

輸出結(jié)果將顯示指定日期范圍內(nèi)的開盤和收盤時間:

                      market_open         market_close
2022-10-03 13:30:00+00:00 09:30:00 2022-10-03 20:00:00
2022-10-04 13:30:00+00:00 09:30:00 2022-10-04 20:00:00
2022-10-05 13:30:00+00:00 09:30:00 2022-10-05 20:00:00
2022-10-06 13:30:00+00:00 09:30:00 2022-10-06 20:00:00
2022-10-07 13:30:00+00:00 09:30:00 2022-10-07 20:00:00
2022-10-10 13:30:00+00:00 09:30:00 2022-10-10 20:00:00
2022-10-11 13:30:00+00:00 09:30:00 2022-10-11 20:00:00
2022-10-12 13:30:00+00:00 09:30:00 2022-10-12 20:00:00
2022-10-13 13:30:00+00:00 09:30:00 2022-10-13 20:00:00
2022-10-14 13:30:00+00:00 09:30:00 2022-10-14 20:00:00
2022-10-17 13:30:00+00:00 09:30:00 2022-10-17 20:00:00
2022-10-18 13:30:00+00:00 09:30:00 2022-10-18 20:00:00
2022-10-19 13:30:00+00:00 09:30:00 2022-10-19 20:00:00
2022-10-20 13:30:00+00:00 09:30:00 2022-10-20 20:00:00
2022-10-21 13:30:00+00:00 09:30:00 2022-10-21 20:00:00
2022-10-24 13:30:00+00:00 09:30:00 2022-10-24 20:00:00
2022-10-25 13:30:00+00:00 09:30:00 2022-10-25 20:00:00
2022-10-26 13:30:00+00:00 09:30:00 2022-10-26 20:00:00
2022-10-27 13:30:00+00:00 09:30:00

pandas_market_calendars 中的交易時間表

為了衡量交易時間表,您可以使用 pandas_market_calendars 的另一個函數(shù),稱為 Schedule() 方法。在這里,您需要輸入開始日期和結(jié)束日期。該方法將獲取此開始日期和結(jié)束日期內(nèi)的所有交易日?,F(xiàn)在,如果您正在查看 NYSE 日歷并想了解 2023 年 11 月的交易時間表,您可以通過以下代碼獲得幫助:

import pandas_market_calendars as mcal
 
# Get the NYSE calendar
nyse_calendar = mcal.get_calendar('NYSE')
 
# Get the trading schedule for the month of November 2023
trading_schedule = nyse_calendar.schedule(start_date='2023-11-01', end_date='2023-11-30')
 
# Print the trading schedule
print(trading_schedule)

pandas_market_calendars 常見問題解答

使用 pandas_market_calendars 有什么好處?

準(zhǔn)確性、靈活性和易用性是其最大的優(yōu)點。

如何使用 獲取特定證券交易所的交易時間pandas_market_calendars?

要獲取特定交易所的交易時間,您首先需要導(dǎo)入pandas_market_calendars并創(chuàng)建所需交易所日歷的實例。例如,要獲取紐約證券交易所 (NYSE) 日歷,您可以使用get_calendar('NYSE')。然后,您可以使用諸如schedule()獲取指定期間的詳細(xì)交易時間和日期之類的方法。


到此這篇關(guān)于如何利用Python 和 pandas_market_calendars 進(jìn)行高效的財務(wù)數(shù)據(jù)分析的文章就介紹到這了,更多相關(guān)內(nèi)容可以在右上角搜索或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

原文地址:http://www.zghlxwxcb.cn/article/593.html

如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請聯(lián)系站長進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 利用Python中的openpyxl/Pandas庫操作excel

    本文主要講述 openpyxl庫對excel文件的讀取寫入操作以及Pandas庫對excel文件的寫入操作。 一、openpyxl介紹安裝 1.安裝openpyxl 2.Excel中的三大對象 二、openpyxl對Excel的操作 ?使用openpyxl讀取excel 使用openpyxl寫入excel ? ? ? ??三、使用pandas寫入excel python中與excel操作相關(guān)的模塊: xlrd庫

    2024年02月08日
    瀏覽(30)
  • 利用Python進(jìn)行數(shù)據(jù)清洗與預(yù)處理:Pandas的高級用法【第147篇—Pandas的高級用法】

    利用Python進(jìn)行數(shù)據(jù)清洗與預(yù)處理:Pandas的高級用法【第147篇—Pandas的高級用法】

    前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家?!军c擊進(jìn)入巨牛的人工智能學(xué)習(xí)網(wǎng)站】。 在數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)領(lǐng)域,數(shù)據(jù)清洗和預(yù)處理是至關(guān)重要的步驟。Pandas庫作為Python中最受歡迎的數(shù)據(jù)處理工具之一,提供了強(qiáng)大的功能來處

    2024年04月09日
    瀏覽(35)
  • python利用pandas和csv包兩種方式向一個csv文件寫入或追加數(shù)據(jù)

    或者 一行加入一個數(shù)據(jù)

    2024年02月16日
    瀏覽(91)
  • Python之如何使用pandas操作Excel表

    Python之如何使用pandas操作Excel表

    目錄 1、前言 2、讀取Excel 3、對Excel進(jìn)行操作 3.1、獲取行號、列名 ?3.2、獲取單元格的值,并循環(huán)輸出 ?3.3、對空值進(jìn)行處理,替換 ?3.4、增加一列,并對新增列的第一行進(jìn)行賦值 3.5、將修改后數(shù)據(jù)保存到原文檔 ?3.6、關(guān)于循環(huán)取數(shù) 4、錯誤處理 5、全部代碼 1、前言 網(wǎng)上也有

    2023年04月09日
    瀏覽(24)
  • python中pandas如何過濾輸出【以下為ChatGPT編寫】

    在 Python 中使用 Pandas 庫進(jìn)行數(shù)據(jù)分析時,你可以使用條件過濾來篩選和過濾輸出。Pandas 提供了多種方法來實現(xiàn)數(shù)據(jù)的過濾和篩選操作,(ChatGPT編寫)以下是一些常用的方式: 1. 使用布爾索引: ? ?```python ? ?import pandas as pd ? ? ? ?# 創(chuàng)建一個示例DataFrame ? ?data = {\\\'Name\\\': [\\\'Ali

    2024年02月09日
    瀏覽(16)
  • chatgpt賦能python:Python初學(xué)者必知:如何正確安裝pandas模塊

    如果你是一名初學(xué)者,或者只是想學(xué)習(xí)數(shù)據(jù)分析的人,你可能已經(jīng)聽說過 pandas 這個模塊。Pandas 是一個 Python 的數(shù)據(jù)處理庫,它提供了各種數(shù)據(jù)結(jié)構(gòu),可以使用戶輕松地處理大量數(shù)據(jù)。但是,在安裝 Pandas 的時候,可能會遇到一些問題。下面,我們將給大家介紹一些方法,來確

    2024年02月07日
    瀏覽(29)
  • Python 2.x 中如何使用pandas模塊進(jìn)行數(shù)據(jù)分析

    Python 2.x 中如何使用pandas模塊進(jìn)行數(shù)據(jù)分析 概述: 在數(shù)據(jù)分析和數(shù)據(jù)處理過程中,pandas是一個非常強(qiáng)大且常用的Python庫。它提供了數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具,可以實現(xiàn)快速高效的數(shù)據(jù)處理和分析。本文將介紹如何在Python 2.x中使用pandas進(jìn)行數(shù)據(jù)分析,并為讀者提供一些代碼示例

    2024年02月13日
    瀏覽(29)
  • chatgpt賦能python:如何安裝Pandas庫——Python(PythonProgramming)的數(shù)據(jù)分析庫

    Pandas是Python編程語言的數(shù)據(jù)分析庫,可以用于數(shù)據(jù)操作、數(shù)據(jù)處理和數(shù)據(jù)可視化等方面,包括讀取、清理、轉(zhuǎn)換和分析等。因此,Pandas庫是Python數(shù)據(jù)科學(xué)生態(tài)系統(tǒng)的重要組成部分,這使得Pandas庫已成為許多企業(yè)和組織的主要數(shù)據(jù)工具——如亞馬遜、谷歌、斯坦福大學(xué)、NASA和考

    2024年02月07日
    瀏覽(20)
  • python的pandas中如何在dataframe中插入一行或一列數(shù)據(jù)?

    python的pandas中如何在dataframe中插入一行或一列數(shù)據(jù)?

    dataframe類型是如何插入一行或一列數(shù)據(jù)的呢?這個需求在本文中將會進(jìn)行討論。相比較ndarray類型的同樣的“數(shù)據(jù)插入”需求,dataframe的實現(xiàn)方式,則不是很好用。本文以一個dataframe類型變量為例,測試插入一行數(shù)據(jù)或者一列數(shù)據(jù)的方式方法。測試環(huán)境:win10,python@3.11.0,nu

    2024年02月03日
    瀏覽(35)
  • 利用chatgpt快速初步學(xué)習(xí)pandas

    最近體驗了chatgpt作為編程助手的功能,確實很厲害,只要你擅長提問,找答案很精準(zhǔn)快捷,由此可以想到是否能夠通過系列提問,快速上手一個工具?以pandas為例,開始提問學(xué)習(xí)。 我需要用python處理表格數(shù)據(jù),給我推薦現(xiàn)在最流行的幾個工具 最流行的表格數(shù)據(jù)處理工具之一是

    2023年04月25日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包