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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
tcalendars-2.1.1-py3-none-any.whl
(560.0 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9b86702b6e5176c922a9671beacc4b31c0247bb0f52fdd940066f8524368db1
|
|
| MD5 |
a4db21a466906f1530dbc1205b454833
|
|
| BLAKE2b-256 |
e6e1181594afd43b507068df13802bcdc087f3db8df711e89814bf7e9bba2443
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41450d4f9c13bc742a941040bc065b75fda86a481ca9f916e41dd6f43d91d426
|
|
| MD5 |
95ffef1441172473f8f9388dede36f38
|
|
| BLAKE2b-256 |
5b857de7f504af6b34efaa3776d13a3a512bf8652c2b25424880e3a5c24011eb
|