我正在嘗試獲取與給定交易日相關的前一個交易日。首先,我只是想創建一個函式,在給定日期時回傳前一個作業日,如下所示:
import datetime
def get_previous_trading_day(day):
day = pd.to_datetime(day)
previous_trading_day = day - datetime.timedelta(days=1)
return previous_trading_day
但是當我呼叫我的函式并列印當前日期與前一個日期時,前一個日期不是前一天:
2021-05-01 curr
1885-02-22 00:00:00 prev
我該如何進行這項作業?
uj5u.com熱心網友回復:
如果您將計算改為使用pd.tseries.offsets.BDay,您將獲得前一個作業日(而不是前一天)。我意識到這不適用于沒有交易發生的銀行假期。當我嘗試回傳前一天的日期時,您的功能運行良好。
def get_previous_trading_day(day):
day = pd.to_datetime(day)
previous_trading_day = day - pd.tseries.offsets.BDay(1)
return previous_trading_day
為明天的日期呼叫函式將回傳星期五的日期:
get_previous_trading_day("2022-05-16")
#Out: Timestamp('2022-05-13 00:00:00')
對于您回傳的日期,您可能輸入了pd.to_datetime. 如果您需要特定格式,請將 kwarg 添加format=到此。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/474781.html
