Commit Graph
15 Commits
Author SHA1 Message Date
Justin Gu fd4a1233b4 feat: add chanlun (ChanLun) technical analysis module, bump to v1.7.0
- New chanlun/ subpackage: K-line merge, fractal, bi/xianduan/zhongshu/mmd/beichi
- New 'easy-tdx chanlun' CLI command with JSON/table output
- MACD calculation (pure numpy, no extra dependencies)
- Multi-level analysis (MultiLevelAnalyser)
- Pipeline: DataFrame -> merge -> fractal -> bi -> zhongshu -> xd -> mmd -> beichi
- 49 offline unit tests covering all calculation steps
- Detailed README docs with output explanation
- Bump version: pyproject.toml 1.6.1 -> 1.7.0, cli 1.5.0 -> 1.7.0
2026-06-07 23:29:52 +08:00
Justin Gu 4cab9aa325 fix: route index files to get_index_bars() in sync-daily/sync-all
Root cause: _fetch_all_daily_bars used get_security_bars() for all files,
but index server responses have 4 extra bytes per record. Wrong parser
produced garbage dates like '12897-50-77' for sh000001, sh000300, etc.

Fix: add _is_index_code() to detect index codes by prefix (sh: 00/88/99,
sz: 39) and route to get_index_bars() accordingly.

Bumps version to 1.6.1.
2026-06-07 21:55:26 +08:00
Justin Gu d01b11fa74 feat: add offline data write-back and sync commands, bump to v1.6.0
- Add write_daily.py: encode/append daily bars to .day files
- Add write_ex_daily.py: encode/append extended market daily bars
- Add write_min_bar.py: encode/append minute bars (.5/.lc1/.lc5)
- Add sync-daily CLI: sync single stock with pagination support
- Add sync-all CLI: one-command sync for all SH/SZ .day files
- Update README with sync commands and Python write API docs
- 50 new unit tests covering encode round-trip, append dedup, edge cases
- Bump version 1.5.0 -> 1.6.0
2026-06-07 21:13:49 +08:00
Justin Gu b17e98468b feat: add offline CLI commands and bump version to v1.5.0
- New 'offline' command group with 8 subcommands: home, daily, min,
  ex-files, ex-daily, gbbq, financial, blocks
- No network required, reads local TDX data files directly
- Updated CLI examples and README with offline documentation
- Added v1.5.0 changelog entry
2026-06-02 12:30:24 +08:00
Justin Gu 07c1eca5e8 docs: add V4.0 version note for ZHUOYAO/BIAS_SIGNAL in MyTT.py 2026-06-02 12:06:55 +08:00
Justin Gu 903898512a Merge branch 'main' of https://github.com/handsomejustin/easy_tdx 2026-06-02 12:01:00 +08:00
Justin Gu 95e225d6d7 Merge branch 'main' of https://github.com/handsomejustin/easy_tdx 2026-05-27 00:39:19 +08:00
Justin Gu 6959e66e14 Merge branch 'main' of https://github.com/handsomejustin/easy_tdx 2026-05-26 22:58:28 +08:00
Justin Gu 462779b47d Merge branch 'main' of https://github.com/handsomejustin/easy_tdx
# Conflicts:
#	README.md
#	examples/01_connection/async_connect.py
#	examples/02_market_info/market_stat.py
#	examples/02_market_info/security_list.py
#	examples/02_market_info/security_list_all.py
#	examples/02_market_info/security_quotes.py
#	examples/03_kline/index_bars.py
#	examples/03_kline/security_bars.py
#	examples/04_minute/history_minute_data.py
#	examples/04_minute/minute_time_data.py
#	examples/05_transaction/history_transaction.py
#	examples/05_transaction/transaction_data.py
#	examples/06_finance/company_info.py
#	examples/06_finance/finance_info.py
#	examples/06_finance/price_limits.py
#	examples/06_finance/xdxr_info.py
#	examples/07_block/block_info.py
#	examples/08_fund_flow/fund_flow.py
#	examples/08_fund_flow/history_fund_flow.py
#	examples/09_file_download/report_file.py
#	pyproject.toml
#	src/easy_tdx/client.py
2026-05-23 00:30:56 +08:00
Justin Gu d7547f7c4c docs: update README to reflect merged datetime fields in DataFrame output 2026-05-22 04:22:27 +08:00
Justin Gu f693cbe218 docs: update README to reflect merged datetime fields in DataFrame output 2026-05-22 04:22:27 +08:00
Justin Gu 02701952ca feat: merge datetime fields in DataFrame output, hide MinuteBar internal fields
- K-line: daily+ periods output 'date' only, minute periods output 'datetime'
- Transactions (tick-by-tick): combine date param + hour/minute into 'datetime'
- XdxrRecord, HistoricalFundFlow: year/month/day merged to 'date'
- MinuteBar: rename unknown_1 to _unknown_1 (hidden from DataFrame)
- MinuteBar: add datetime column computed from bar index (A-share 240-bar pattern)
- get_minute_time_data: use history endpoint only (current-day endpoint broken in pytdx too)
- Update all examples to reflect new DataFrame column names
2026-05-22 04:19:07 +08:00
Justin Gu 00825eb24a feat: merge datetime fields in DataFrame output, hide MinuteBar internal fields
- K-line: daily+ periods output 'date' only, minute periods output 'datetime'
- Transactions (tick-by-tick): combine date param + hour/minute into 'datetime'
- XdxrRecord, HistoricalFundFlow: year/month/day merged to 'date'
- MinuteBar: rename unknown_1 to _unknown_1 (hidden from DataFrame)
- MinuteBar: add datetime column computed from bar index (A-share 240-bar pattern)
- get_minute_time_data: use history endpoint only (current-day endpoint broken in pytdx too)
- Update all examples to reflect new DataFrame column names
2026-05-22 04:19:07 +08:00
Justin Gu ace1099ab0 chore: add CLAUDE.md and .claude config 2026-05-21 13:02:27 +08:00
Justin Gu 604f7cdf57 feat: expand KNOWN_HOSTS with 42 servers from TDX connect.cfg 2026-05-21 13:00:00 +08:00