Python
是否有一個 python 包/函式可以返回兩個時間戳之間的交易時間?
我有兩個時間戳,例如 2017-04-11 和 2017-07-08,或 2017-04-11 21:00:57 和 2017-07-08 12:41:54,我正在尋找 Python 包/函式返回這兩個時間戳之間的總交易時間(即不包括市場關閉的時間)。
時間戳的精度越高越好。我知道交易時間取決於金融工具。
是的你可以!與
pandas_market_calendars
. 請參閱:GitHub - 回購。從文件import pandas_market_calendars as mcal nyse = mcal.get_calendar('NYSE') schedule = nyse.schedule(start_date='2016-12-30', end_date='2017-01-10') market_open market_close 2016-12-30 2016-12-30 14:30:00+00:00 2016-12-30 21:00:00+00:00 2017-01-03 2017-01-03 14:30:00+00:00 2017-01-03 21:00:00+00:00 2017-01-04 2017-01-04 14:30:00+00:00 2017-01-04 21:00:00+00:00 2017-01-05 2017-01-05 14:30:00+00:00 2017-01-05 21:00:00+00:00 2017-01-06 2017-01-06 14:30:00+00:00 2017-01-06 21:00:00+00:00 2017-01-09 2017-01-09 14:30:00+00:00 2017-01-09 21:00:00+00:00 2017-01-10 2017-01-10 14:30:00+00:00 2017-01-10 21:00:00+00:00
對於您的起始時間戳,您可以計算到第一個交易日結束之前的差異。
對於您的結束時間戳,您可以計算與最後一個交易日開始時的差異。
剩下的日子,累積的時間顯然是結束時間減去開始時間。即使上面的輸出具有相同的開始/結束時間,也不總是這樣:
early = nyse.schedule(start_date='2012-07-01', end_date='2012-07-10') market_open market_close 2012-07-02 2012-07-02 13:30:00+00:00 2012-07-02 20:00:00+00:00 2012-07-03 2012-07-03 13:30:00+00:00 2012-07-03 17:00:00+00:00 2012-07-05 2012-07-05 13:30:00+00:00 2012-07-05 20:00:00+00:00 2012-07-06 2012-07-06 13:30:00+00:00 2012-07-06 20:00:00+00:00 2012-07-09 2012-07-09 13:30:00+00:00 2012-07-09 20:00:00+00:00 2012-07-10 2012-07-10 13:30:00+00:00 2012-07-10 20:00:00+00:00
所以你實際上需要迭代結果併計算每個交易日的累計時間。
當然:您的樂器必須在受支持的日曆之一中(或者您可以創建自己的)