Skip to main content

Trading Calendars(tcalendars)

交易日历,用于交易时间的判断。当前支持的市场有:

  • 中国股票市场(2005年1月1日起)

安装

pip install playwright
playwright install chromium

pip install tcalendars

缓存

  • StockNameCodeHelper.get_stock_code_by_english_name / StockNameCodeHelper.get_stock_info_by_english_name 会通过 Playwright 调用 Yahoo Finance 搜索接口
  • 所有数据缓存统一存放在 tcalendars/cache/ 目录下:
    • 数据库:tcalendars/cache/data.dat (SQLite 格式,包含交易日历、股票名称代码、基金名称代码等)
    • Yahoo Finance 查询:tcalendars/cache/.yfinance_cache(JSON 格式,启动时自动加载到内存缓存)
  • .yfinance_cache 超过 60 天的缓存不会加载到内存(删除该文件可重建缓存)

示例

代码示例

from tcalendars import TradingCalendars

calendar = TradingCalendars()
# 判断2023年1月1日是否为交易日
calendar.is_trading_day('2023-01-01')
# 输出:False

# 获取2023年1月1日至2023年1月5日的所有交易日
calendar.get_trading_days('2023-01-01', '2023-01-05')
# 输出:['2023-01-03', '2023-01-04', '2023-01-05']

# 获取2023年1月1日所在的交易日,如果1月1日不是交易日,则返回后一个交易日
calendar.get_trading_day('2023-01-01')
# 输出:'2023-01-03'

from tcalendars import StockNameCodeHelper

helper = StockNameCodeHelper()

# 根据股票代码获取股票名称
helper.get_stock_name('000001')
# 输出:'平安银行'

# 根据股票名称获取股票代码
helper.get_stock_code('平安银行')
# 输出:'000001'

# 根据股票英文名称获取股票代码
StockNameCodeHelper.get_stock_code_by_english_name('PONY AI')
# 输出:'PONY'

StockNameCodeHelper.get_stock_code_by_english_name("HESAI GROUP")
# 输出:'HESAI'

# 根据股票英文名称获取股票信息
StockNameCodeHelper.get_stock_info_by_english_name("HESAI GROUP")
# 输出:{'exchange': 'NMS', 'shortname': 'Hesai Group', 'quoteType': 'EQUITY', 'symbol': 'HSAI', 'index': 'quotes', 'score': 20006.0, 'typeDisp': '股票', 'longname': 'Hesai Group', 'exchDisp': 'NASDAQ', 'sector': 'Consumer Cyclical', 'sectorDisp': '消費週期性股票', 'industry': 'Auto Parts', 'industryDisp': '汽車零件', 'isYahooFinance': True}

# 导出股票名称代码表到CSV文件
helper.export_to_csv('stock_name_code.csv')

from tcalendars import FundNameCodeHelper

fund_helper = FundNameCodeHelper()

# 根据基金代码获取基金名称
fund_helper.get_fund_name('000001')

# 根据基金名称获取基金代码
fund_helper.get_fund_code('华夏成长混合')

# 查询基金关联份额
fund_helper.query_shares('000001')

# 按关键词搜索基金名称
fund_helper.search_by_keyword('华夏')
# 输出:DataFrame
#   code name
# 0  000001 华夏成长混合
# ...

# 导出基金名称代码表到CSV文件
fund_helper.export_to_csv('fund_name_code.csv')

StockNameCodeHelper.get_stock_info_by_english_name 返回结果示例:

{
  "exchange": "NMS",
  "shortname": "Hesai Group",
  "quoteType": "EQUITY",
  "symbol": "HSAI",
  "index": "quotes",
  "score": 20012,
  "typeDisp": "equity",
  "longname": "Hesai Group",
  "exchDisp": "NASDAQ",
  "sector": "Consumer Cyclical",
  "sectorDisp": "消費週期性股票",
  "industry": "Auto Parts",
  "industryDisp": "汽車零件",
  "isYahooFinance": True
}

Download files

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

Source Distribution

tcalendars-2.1.1.tar.gz (554.5 kB view details)

Uploaded Source

Built Distribution

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

tcalendars-2.1.1-py3-none-any.whl (560.0 kB view details)

Uploaded Python 3

File details

Details for the file tcalendars-2.1.1.tar.gz.

File metadata

  • Download URL: tcalendars-2.1.1.tar.gz
  • Upload date:
  • Size: 554.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for tcalendars-2.1.1.tar.gz
Algorithm Hash digest
SHA256 e9b86702b6e5176c922a9671beacc4b31c0247bb0f52fdd940066f8524368db1
MD5 a4db21a466906f1530dbc1205b454833
BLAKE2b-256 e6e1181594afd43b507068df13802bcdc087f3db8df711e89814bf7e9bba2443

See more details on using hashes here.

File details

Details for the file tcalendars-2.1.1-py3-none-any.whl.

File metadata

  • Download URL: tcalendars-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 560.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for tcalendars-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 41450d4f9c13bc742a941040bc065b75fda86a481ca9f916e41dd6f43d91d426
MD5 95ffef1441172473f8f9388dede36f38
BLAKE2b-256 5b857de7f504af6b34efaa3776d13a3a512bf8652c2b25424880e3a5c24011eb

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 Sentry Error logging StatusPage Status page