Skip to main content

Trade day handling utilities for A-share market

Project description

sangreal-calendar

由于开源数据不稳定,现改为需要自行注入

安装

pip install sangreal-calendar

交易日处理函数

from sangreal_calenadr import *
# 获取历史交易日
tmp_series = get_xxx() -> pd.Series
CALENDAR.inject(tmp_series)

# 获取交易日列表
get_trade_dts(begin_dt='20180101', end_dt='20180201')
['20180102', '20180103', ..., '20180201']
# 获取交易日DataFrame
get_trade_dts(begin_dt='20180101', end_dt='20180201', astype='pd')
      trade_dt
6613  20180102
6614  20180103
6615  20180104
6616  20180105
6617  20180108
# 调整非交易日至之前的最近一个交易日
adjust_trade_dt('20180101')
'20171229'
# 调整非交易日至之前的最后一个交易日
adjust_trade_dt('20180101', 'next')
'20180102'
# 往后step 1个交易日
# 注意,对于非交易日的输入,会自动将其adjust至之后的最近一个交易日
# 本质上是 step_trade_dt('20180102', 1)
step_trade_dt('20180101', 1)
'20180103'
# 往后step 1个交易日
step_trade_dt('20180101', -1)
'20171229'
# 计算两个日期间的交易日长度
delta_trade_dt('20180101', '20180305')
40

时间频率处理函数

支持weekly biweekly monthly quarterly reportly halfyearly yearly

以weekly为例

# 返回每周的第一个交易日
# 格式为Series 及 datetime
Weekly(1).get('20180101', '20190101')
6613   20180102
6617   20180108
6622   20180115
6627   20180122
6632   20180129
6637   20180205

# 返回每周的最后一个交易日
Weekly(-1).get('20180101', '20190101')
6621   20180112
6626   20180119
6631   20180126
6636   20180202
6641   20180209
6644   20180214

# 返回每周的第一个及最后一个交易日
Weekly(1, -1).get('20180101', '20190101')
6613   20180102
6617   20180108
6621   20180112
6622   20180115
6626   20180119
6627   20180122

Monthly() BiWeekly() Quarterly() ....

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sangreal_calendar-0.1.5.tar.gz (25.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sangreal_calendar-0.1.5-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file sangreal_calendar-0.1.5.tar.gz.

File metadata

  • Download URL: sangreal_calendar-0.1.5.tar.gz
  • Upload date:
  • Size: 25.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for sangreal_calendar-0.1.5.tar.gz
Algorithm Hash digest
SHA256 d348af431047241980163dc6a346c3aac32e54a55f836d995589b2a61274d8d9
MD5 f048e56cbaf0b220c9326661443bd02e
BLAKE2b-256 cf72ce186138a3e54ff24fa582ccee8f2224fb5c4f518f7e26bdd27bd9d28f25

See more details on using hashes here.

File details

Details for the file sangreal_calendar-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for sangreal_calendar-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 90b12119030eccd7474473515af09bdda0646b965afe5ba591ba763fe686d9bd
MD5 a2fddb3eebd4965781996c9772d7a9fc
BLAKE2b-256 7cc74523a7af31737d3b858b42b8c9773192a0c9a9169f4f44fd71a798059610

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page