lixinger-python 0.3.10__tar.gz → 0.3.12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lixinger_python-0.3.12/.claude/settings.local.json +18 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/ARCHITECTURE.md +6 -4
- lixinger_python-0.3.12/CHANGELOG.md +204 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/PKG-INFO +1 -1
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/PUBLISHING.md +2 -28
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/__init__.py +20 -0
- lixinger_python-0.3.12/lixinger/api/cn/industry/__init__.py +21 -0
- lixinger_python-0.3.12/lixinger/api/cn/industry/margin_trading/__init__.py +33 -0
- lixinger_python-0.3.12/lixinger/api/cn/industry/margin_trading/cni.py +129 -0
- lixinger_python-0.3.12/lixinger/api/cn/industry/margin_trading/sw.py +129 -0
- lixinger_python-0.3.12/lixinger/api/cn/industry/margin_trading/sw_2021.py +129 -0
- lixinger_python-0.3.12/lixinger/api/cn/industry/namespace.py +88 -0
- lixinger_python-0.3.12/lixinger/api/macro/__init__.py +30 -0
- lixinger_python-0.3.12/lixinger/api/macro/namespace.py +62 -0
- lixinger_python-0.3.12/lixinger/api/macro/national_debt.py +122 -0
- lixinger_python-0.3.12/lixinger/api/macro/rmb_deposits.py +126 -0
- lixinger_python-0.3.12/lixinger/api/macro/rmb_loans.py +126 -0
- lixinger_python-0.3.12/lixinger/api/macro/social_financing.py +125 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/client.py +57 -0
- lixinger_python-0.3.12/lixinger/models/cn/industry/__init__.py +13 -0
- lixinger_python-0.3.12/lixinger/models/cn/industry/margin_trading/__init__.py +11 -0
- lixinger_python-0.3.12/lixinger/models/cn/industry/margin_trading/cni.py +29 -0
- lixinger_python-0.3.12/lixinger/models/cn/industry/margin_trading/sw.py +29 -0
- lixinger_python-0.3.12/lixinger/models/cn/industry/margin_trading/sw_2021.py +29 -0
- lixinger_python-0.3.12/lixinger/models/macro/__init__.py +13 -0
- lixinger_python-0.3.12/lixinger/models/macro/national_debt.py +20 -0
- lixinger_python-0.3.12/lixinger/models/macro/rmb_deposits.py +20 -0
- lixinger_python-0.3.12/lixinger/models/macro/rmb_loans.py +20 -0
- lixinger_python-0.3.12/lixinger/models/macro/social_financing.py +20 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/pyproject.toml +1 -1
- lixinger_python-0.3.12/tests/test_industry_margin_trading.py +368 -0
- lixinger_python-0.3.12/tests/test_macro.py +341 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/uv.lock +1 -1
- lixinger_python-0.3.10/.claude/settings.local.json +0 -13
- lixinger_python-0.3.10/CHANGELOG.md +0 -95
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.env.example +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.github/copilot-instructions.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.github/workflows/README.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.github/workflows/pr-checks.yml +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.gitignore +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.pre-commit-config.yaml +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.python-version +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/.ruff.toml +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/ADD_NEW_API_QUICK.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/CLAUDE.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/DOCUMENTATION.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/LICENSE +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/MANIFEST.in +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/README.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/codecov.yml +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/client.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/announcement.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/candlestick.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/company.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/dividend.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/equity_change.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/fs/non_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/fundamental/bank.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/fundamental/insurance.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/fundamental/non_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/fundamental/other_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/fundamental/security.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/indices.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/company/profile.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/announcement.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/asset_combination.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/asset_industry_combination.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/candlestick.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/fund.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/profile.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/fund/shareholdings.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/candlestick.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/constituent_weightings.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/constituents.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/drawdown.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/fundamental.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/index.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/index/tracking_fund.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/api/overview.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/development/code-style.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/development/contributing.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/development/testing.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/examples/company.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/examples/fund.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/examples/index.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/getting-started/configuration.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/getting-started/installation.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/getting-started/quickstart.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/docs/index.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/company_example.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/company_profile_example.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/dividend_example.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/fs_example.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/index_constituent_weightings_example.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/index_constituents_example.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/index_info_example.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/examples/index_margin_trading_example.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/base.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/announcement.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/candlestick.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/company.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/dividend.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/equity_change.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fs/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fs/bank.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fs/insurance.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fs/non_financial.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fs/other_financial.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fs/security.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fundamental/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fundamental/bank.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fundamental/insurance.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fundamental/non_financial.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fundamental/other_financial.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/fundamental/security.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/indices.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/namespace.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/company/profile.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/announcement.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/asset_combination.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/asset_industry_combination.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/candlestick.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/fund.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/profile.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/fund/shareholdings.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/candlestick.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/constituent_weightings.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/constituents.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/drawdown.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/fs/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/fs/bank.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/fs/hybrid.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/fs/non_financial.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/fs/security.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/fundamental.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/index.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/margin_trading.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/namespace.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/api/cn/index/tracking_fund.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/config.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/exceptions.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/announcement.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/candlestick.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/company.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/dividend.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/equity_change.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fs/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fs/bank.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fs/insurance.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fs/non_financial.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fs/other_financial.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fs/security.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fundamental/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fundamental/bank.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fundamental/insurance.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fundamental/non_financial.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fundamental/other_financial.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/fundamental/security.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/company/indices.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/announcement.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/asset_combination.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/asset_industry_combination.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/candlestick.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/fund.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/profile.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/fund/shareholdings.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/candlestick.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/constituent_weightings.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/constituents.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/drawdown.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/fs/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/fs/bank.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/fs/hybrid.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/fs/non_financial.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/fs/security.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/fundamental.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/index.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/margin_trading.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/models/cn/index/tracking_fund.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/py.typed +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/utils/__init__.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/utils/api.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/utils/dataframe.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/utils/dict.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/utils/rate_limiter.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger/utils/retry.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/REMINDER.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/allotment.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/announcement.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/block-deal.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/candlestick.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/customers.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/dividend.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/equity-change.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fs/bank.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fs/insurance.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fs/non_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fs/other_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fs/security.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fund-collection-shareholders.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fund-shareholders.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fundamental/bank.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fundamental/insurance.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fundamental/non_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fundamental/other_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/fundamental/security.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/capita.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/df.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/elr.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/esc.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/mm_ha.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/mssc.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/mtasl.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/npd.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/ple.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/shnc.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/t_a.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/tr.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/hot/tr_dri.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/indices.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/industries.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/inquiry.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/major-shareholders-shares-change.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/majority-shareholders.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/margin-trading-and-securities-lending.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/measures.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/mutual-market.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/nolimit-shareholders.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/operating-data.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/operation-revenue-constitution.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/pledge.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/profile.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/senior-executive-shares-change.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/shareholders-num.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/suppliers.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/trading-abnormal.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company/volatility.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/company.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/announcement.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/asset-combination.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/asset-industry-combination.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/candlestick.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/dividend.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/drawdown.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/fees.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/f_as.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/f_nlacan.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/fet_s.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/ff.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/fp.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/fpr.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/hot/fss.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/manager.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/net-value-of-dividend-reinvestment.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/net-value.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/profile.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/shareholders-structure.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/shareholdings.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/shares.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/split.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/total-net-value.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/turnover-rate.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund/volatility.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company/asset-scale.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company/fund-list.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company/fund-manager-list.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company/hot/fc_as.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company/hot/fc_asr.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company/shareholdings.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-company.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-manager/hot/fmi.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-manager/hot/fmp.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-manager/management-funds.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-manager/profit-ratio.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-manager/shareholdings.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund-manager.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/fund.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/candlestick.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/constituent-weightings.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/constituents.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/drawdown.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/fs/bank.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/fs/hybrid.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/fs/non_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/fs/security.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/fundamental.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/cp.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/ic.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/ifet_sni.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/mm_ha.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/mtasl.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/tr.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/hot/tr_cp.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/margin-trading-and-securities-lending.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/mutual-market.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/tracking-fund.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index/volatility.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/index.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/constituents/cni.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/constituents/sw.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/constituents/sw_2021.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/cni/bank.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/cni/hybrid.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/cni/insurance.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/cni/non_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/cni/security.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw/bank.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw/hybrid.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw/insurance.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw/non_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw/security.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw_2021/bank.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw_2021/hybrid.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw_2021/insurance.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw_2021/non_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fs/sw_2021/security.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fundamental/cni.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fundamental/sw.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/fundamental/sw_2021.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/hot/mm_ha/cni.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/hot/mm_ha/sw.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/hot/mm_ha/sw_2021.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/hot/mtasl/cni.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/hot/mtasl/sw.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/hot/mtasl/sw_2021.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/margin-trading-and-securities-lending/cni.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/margin-trading-and-securities-lending/sw.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/margin-trading-and-securities-lending/sw_2021.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/mutual-market/cni.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/mutual-market/sw.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry/mutual-market/sw_2021.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/cn/industry.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/allotment.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/announcement.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/candlestick.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/dividend.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/employee.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/equity-change.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fs/bank.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fs/insurance.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fs/non_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fs/other_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fs/reit.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fs/security.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fund-collection-shareholders.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fund-shareholders.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fundamental/bank.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fundamental/insurance.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fundamental/non_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fundamental/other_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fundamental/reit.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/fundamental/security.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/capita.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/director_equity_change.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/mm_ah.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/npd.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/rep.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/ss.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/ss_ha.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/tr.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/hot/tr_dri.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/indices.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/industries.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/latest-shareholders.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/mutual-market.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/operation-revenue-constitution.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/profile.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/repurchase.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/shareholders-equity-change.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/short-selling.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/split.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company/volatility.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/company.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/candlestick.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/constituents.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/drawdown.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/fs/hybrid.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/fs/non_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/fundamental.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/hot/cp.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/hot/ic.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/hot/ifet_sni.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/hot/mm_ah.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/mutual-market.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/tracking-fund.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index/volatility.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/index.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry/constituents/hsi.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry/fs/hsi/hybrid.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry/fs/hsi/non_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry/fundamental/hsi.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry/hot/mm_ah/hsi.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry/mutual-market/hsi.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/hk/industry.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/bop.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/central-bank-balance-sheet.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/credit-securities-account.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/crude-oil.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/currency-exchange-rate.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/domestic-debt-securities.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/domestic-trade.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/energy.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/foreign-assets.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/foreign-trade.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/gdp.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/gold-price.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/industrialization.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/interest-rates.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/investment-in-fixed-assets.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/investor.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/leverage-ratio.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/money-supply.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/national-debt.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/national-finance.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/natural-gas.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/non-ferrous-metals.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/official-reserve-assets.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/platinum-price.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/population.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/price-index.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/real-estate.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/required-reserves.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/rmb-deposits.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/rmb-loans.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/rmbidx.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/silver-price.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/social-financing.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/stamp-duty.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/traffic-transportation.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/unemployment-rate.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/usdx.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/macro/vix-fear-index.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/candlestick.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/constituents.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/drawdown.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/fs/non_financial.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/fundamental.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/hot/cp.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/hot/ifet_sni.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/tracking-fund.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index/volatility.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/lixinger-api/us/index.md +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/mkdocs.yml +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/mypy.ini +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/scripts/explore_api.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/scripts/generate_docs.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/scripts/publish.sh +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/api/cn/company/test_announcement.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/api/cn/company/test_dividend.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/api/cn/index/test_constituents.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/conftest.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_bank_statements.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_candlestick.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_client.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_cn_index_candlestick.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_cn_index_constituent_weightings.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_company.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_company_profile.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_equity_change.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund_announcement.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund_asset_combination.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund_asset_industry_combination.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund_candlestick.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund_profile.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fund_shareholdings.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fundamental.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fundamental_bank.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_fundamental_security.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_constituents.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_drawdown.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_fs_bank.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_fs_hybrid.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_fs_non_financial.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_fs_security.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_fundamental.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_index_margin_trading.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_indices.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_insurance_statements.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_integration.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_non_financial_statements.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_other_financial_statements.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_security_statements.py +0 -0
- {lixinger_python-0.3.10 → lixinger_python-0.3.12}/tests/test_tracking_fund.py +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(uv run *)",
|
|
5
|
+
"Bash(git add *)",
|
|
6
|
+
"Bash(git commit -m ' *)",
|
|
7
|
+
"Bash(git commit *)",
|
|
8
|
+
"Bash(python -c ' *)",
|
|
9
|
+
"Bash(git stash *)",
|
|
10
|
+
"Bash(gh run *)",
|
|
11
|
+
"Bash(git tag *)",
|
|
12
|
+
"Bash(git push *)",
|
|
13
|
+
"Bash(uv sync *)",
|
|
14
|
+
"Bash(curl -s https://pypi.org/pypi/lixinger-python/0.3.11/json)",
|
|
15
|
+
"Bash(python3 -c \"import sys, json; d = json.load\\(sys.stdin\\); print\\('Name:', d['info']['name']\\); print\\('Version:', d['info']['version']\\); print\\('Files:', len\\(d['urls']\\)\\)\")"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -40,10 +40,12 @@ Layer 1 Infrastructure lixinger/utils/*
|
|
|
40
40
|
lixinger-python/
|
|
41
41
|
├── lixinger/ # SDK 主包(client / config / exceptions / __init__)
|
|
42
42
|
│ ├── api/ # Layer 2+3:base.py + 按 REST 路径组织的端点模块
|
|
43
|
-
│ │
|
|
44
|
-
│ │
|
|
45
|
-
│ │
|
|
46
|
-
│ │
|
|
43
|
+
│ │ ├── cn/ # 中国大陆市场
|
|
44
|
+
│ │ │ ├── company/ # /cn/company/*(含 fs/ 与 fundamental/ 按公司类型细分)
|
|
45
|
+
│ │ │ ├── index/ # /cn/index/*(含 fs/ 按指数类型细分)
|
|
46
|
+
│ │ │ ├── industry/ # /cn/industry/*(含 margin_trading/ 按行业分类系统细分)
|
|
47
|
+
│ │ │ └── fund/ # /cn/fund/*
|
|
48
|
+
│ │ └── macro/ # /macro/*(宏观数据:national_debt / rmb_deposits / rmb_loans / social_financing / ...)
|
|
47
49
|
│ ├── models/ # Pandera DataFrame Schema(结构镜像 api/)
|
|
48
50
|
│ └── utils/ # rate_limiter / retry / dataframe / dict / api 装饰器
|
|
49
51
|
│
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Planned
|
|
11
|
+
- Add support for US stock market APIs
|
|
12
|
+
- Add caching mechanism for API responses
|
|
13
|
+
|
|
14
|
+
## [0.3.12] - 2026-07-05
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
- 宏观数据 API 家族 (`/macro/*`) —— 新增顶级 `client.macro` namespace:
|
|
18
|
+
- `POST /macro/national-debt` — 国债收益率 (cn / us, 三月~三十年期), flat metrics —
|
|
19
|
+
`client.macro.national_debt.get_national_debt()` / `get_national_debt()`
|
|
20
|
+
- `POST /macro/rmb-deposits` — 人民币存款 (含住户/非金融企业/机关/财政等分项;
|
|
21
|
+
支持 y/m 粒度与 t/c/y2y/c2c 等表达式), 嵌套 metrics 自动 flatten 为 `y.rmb_d.t` 列 —
|
|
22
|
+
`client.macro.rmb_deposits.get_rmb_deposits()` / `get_rmb_deposits()`
|
|
23
|
+
- `POST /macro/rmb-loans` — 人民币贷款 (含住户/企事业单位/票据融资等分项) —
|
|
24
|
+
`client.macro.rmb_loans.get_rmb_loans()` / `get_rmb_loans()`
|
|
25
|
+
- `POST /macro/social-financing` — 社会融资规模 (含 rmbl/fl/el/tl/ubc/nf_cb/gb 等分项) —
|
|
26
|
+
`client.macro.social_financing.get_social_financing()` / `get_social_financing()`
|
|
27
|
+
|
|
28
|
+
## [0.3.11] - 2026-07-05
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
- 行业融资融券 API (`/cn/industry/margin-trading-and-securities-lending/*`)
|
|
32
|
+
covering three industry classification systems:
|
|
33
|
+
- `sw`: 申万行业 — `client.cn_industry.margin_trading.sw.get_margin_trading()`
|
|
34
|
+
/ `get_industry_sw_margin_trading()`
|
|
35
|
+
- `sw_2021`: 申万2021版行业 — `client.cn_industry.margin_trading.sw_2021.get_margin_trading()`
|
|
36
|
+
/ `get_industry_sw_2021_margin_trading()`
|
|
37
|
+
- `cni`: 国证行业 — `client.cn_industry.margin_trading.cni.get_margin_trading()`
|
|
38
|
+
/ `get_industry_cni_margin_trading()`
|
|
39
|
+
- `IndustryNamespace` grouped under `client.cn_industry` (with `client.industry` alias)
|
|
40
|
+
|
|
41
|
+
## [0.3.10] - 2026-07-05
|
|
42
|
+
|
|
43
|
+
### Fixed
|
|
44
|
+
- Add missing return / argument type annotations to satisfy ANN rules
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
- Rewrite architecture / dev docs and enforce style via lint
|
|
48
|
+
|
|
49
|
+
## [0.3.9] - 2026-07-03
|
|
50
|
+
|
|
51
|
+
### Added
|
|
52
|
+
- 指数融资融券 API (`/cn/index/margin-trading-and-securities-lending`) —
|
|
53
|
+
`client.cn_index.margin_trading.get_margin_trading()` /
|
|
54
|
+
`get_index_margin_trading()`
|
|
55
|
+
|
|
56
|
+
## [0.3.8] - 2026-06-29
|
|
57
|
+
|
|
58
|
+
### Added
|
|
59
|
+
- 大陆公司财务报表 (fs) 数据 by company type:
|
|
60
|
+
bank / insurance / security / other_financial
|
|
61
|
+
(`/cn/company/fs/{bank,insurance,security,other_financial}`)
|
|
62
|
+
|
|
63
|
+
## [0.3.7] - 2026-06-28
|
|
64
|
+
|
|
65
|
+
### Added
|
|
66
|
+
- 大陆指数财务报表 (fs) 数据 by index type:
|
|
67
|
+
non_financial / bank / security / hybrid
|
|
68
|
+
(`/cn/index/fs/{non_financial,bank,security,hybrid}`)
|
|
69
|
+
|
|
70
|
+
## [0.3.6] - 2026-06-13
|
|
71
|
+
|
|
72
|
+
### Fixed
|
|
73
|
+
- Allow null / missing `types` field in announcement schema
|
|
74
|
+
|
|
75
|
+
## [0.3.5] - 2026-04-17
|
|
76
|
+
|
|
77
|
+
### Changed
|
|
78
|
+
- Pin strict version dependencies in `pyproject.toml`
|
|
79
|
+
|
|
80
|
+
## [0.3.4] - 2026-04-17
|
|
81
|
+
|
|
82
|
+
### Changed
|
|
83
|
+
- Update candlestick API
|
|
84
|
+
|
|
85
|
+
## [0.3.3] - 2026-04-01
|
|
86
|
+
|
|
87
|
+
### Added
|
|
88
|
+
- Append `status` field to dividend response
|
|
89
|
+
|
|
90
|
+
## [0.3.2] - 2026-03-17
|
|
91
|
+
|
|
92
|
+
### Fixed
|
|
93
|
+
- Fix index info API
|
|
94
|
+
- Fix constituent_weighting API
|
|
95
|
+
- Fix index constituents API
|
|
96
|
+
|
|
97
|
+
## [0.3.1] - 2026-03-10
|
|
98
|
+
|
|
99
|
+
### Fixed
|
|
100
|
+
- Fix dividend API
|
|
101
|
+
|
|
102
|
+
## [0.3.0] - 2026-02-26
|
|
103
|
+
|
|
104
|
+
### Added
|
|
105
|
+
- Implement `/cn/company/fundamental/security` API endpoint
|
|
106
|
+
- Implement `/cn/company/fundamental/bank` API endpoint
|
|
107
|
+
- Documentation updates
|
|
108
|
+
|
|
109
|
+
## [0.2.0] - 2026-02-26
|
|
110
|
+
|
|
111
|
+
### ⚠️ BREAKING CHANGES
|
|
112
|
+
|
|
113
|
+
This release completely migrates the SDK to async/await. All existing code must be updated.
|
|
114
|
+
|
|
115
|
+
**Migration Guide:**
|
|
116
|
+
|
|
117
|
+
```python
|
|
118
|
+
# v0.1.x (old - blocking)
|
|
119
|
+
from lixinger import LixingerClient
|
|
120
|
+
|
|
121
|
+
with LixingerClient() as client:
|
|
122
|
+
df = client.company.company.get_company(["000001"])
|
|
123
|
+
|
|
124
|
+
# v0.2.0 (new - async)
|
|
125
|
+
import asyncio
|
|
126
|
+
from lixinger import AsyncLixingerClient
|
|
127
|
+
|
|
128
|
+
async def main():
|
|
129
|
+
async with AsyncLixingerClient() as client:
|
|
130
|
+
df = await client.company.company.get_company(["000001"])
|
|
131
|
+
|
|
132
|
+
asyncio.run(main())
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Changed
|
|
136
|
+
- **BREAKING**: `LixingerClient` renamed to `AsyncLixingerClient`
|
|
137
|
+
- **BREAKING**: All API methods now return coroutines and must be awaited
|
|
138
|
+
- **BREAKING**: Context manager now requires `async with` instead of `with`
|
|
139
|
+
- **BREAKING**: `client.close()` is now async and must be awaited
|
|
140
|
+
- **BREAKING**: All functional APIs (e.g., `get_company()`) are now async
|
|
141
|
+
- Replaced `httpx.Client` with `httpx.AsyncClient`
|
|
142
|
+
- Replaced `time.sleep` with `asyncio.sleep` in rate limiter and retry logic
|
|
143
|
+
|
|
144
|
+
### Added
|
|
145
|
+
- ✨ Full async/await support throughout the SDK
|
|
146
|
+
- ✨ Concurrent request capability - query multiple stocks in parallel
|
|
147
|
+
- ✨ Native Jupyter Notebook support (top-level await)
|
|
148
|
+
- ✨ Perfect integration with AI Agent frameworks (LangChain, LlamaIndex)
|
|
149
|
+
- ✨ Compatible with async web frameworks (FastAPI, Sanic, Quart)
|
|
150
|
+
|
|
151
|
+
### Benefits
|
|
152
|
+
- Non-blocking I/O for better performance in async contexts
|
|
153
|
+
- Ability to query multiple stocks concurrently using `asyncio.gather()`
|
|
154
|
+
- Seamless integration with modern Python async ecosystem
|
|
155
|
+
- Ideal for AI agents that need to fetch financial data without blocking
|
|
156
|
+
|
|
157
|
+
## [0.1.0] - 2026-02-24
|
|
158
|
+
|
|
159
|
+
### Added
|
|
160
|
+
- Initial release of lixinger-python SDK
|
|
161
|
+
- Support for company fundamental data APIs (`/cn/company/fundamental/*`)
|
|
162
|
+
- Support for company profile data API (`/cn/company`)
|
|
163
|
+
- Support for company candlestick (OHLC) data API (`/cn/company/fs/non_financial`)
|
|
164
|
+
- Support for index data APIs (`/cn/index`)
|
|
165
|
+
- Environment-based configuration via `.env` file
|
|
166
|
+
- Rate limiting (1000 requests/minute)
|
|
167
|
+
- Automatic retry mechanism for failed requests
|
|
168
|
+
- SOCKS proxy support
|
|
169
|
+
- Full type hints and mypy support
|
|
170
|
+
- Comprehensive test suite with pytest
|
|
171
|
+
- Auto-generated documentation with MkDocs
|
|
172
|
+
- Pre-commit hooks for code quality
|
|
173
|
+
|
|
174
|
+
### Features
|
|
175
|
+
- **LixingerClient**: Main client class with context manager support
|
|
176
|
+
- **Data Models**: Pydantic models for type-safe API responses
|
|
177
|
+
- **DataFrame Support**: All API responses return pandas DataFrame
|
|
178
|
+
- **Error Handling**: Custom exception classes for better error handling
|
|
179
|
+
- **Rate Limiting**: Built-in rate limiter to prevent API throttling
|
|
180
|
+
- **Retry Logic**: Automatic retry with exponential backoff
|
|
181
|
+
|
|
182
|
+
### Developer Tools
|
|
183
|
+
- Ruff for linting and formatting
|
|
184
|
+
- Mypy for type checking
|
|
185
|
+
- Pytest for testing
|
|
186
|
+
- Pre-commit hooks
|
|
187
|
+
- MkDocs for documentation
|
|
188
|
+
|
|
189
|
+
[unreleased]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.12...HEAD
|
|
190
|
+
[0.3.12]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.11...v0.3.12
|
|
191
|
+
[0.3.11]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.10...v0.3.11
|
|
192
|
+
[0.3.10]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.9...v0.3.10
|
|
193
|
+
[0.3.9]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.8...v0.3.9
|
|
194
|
+
[0.3.8]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.7...v0.3.8
|
|
195
|
+
[0.3.7]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.6...v0.3.7
|
|
196
|
+
[0.3.6]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.5...v0.3.6
|
|
197
|
+
[0.3.5]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.4...v0.3.5
|
|
198
|
+
[0.3.4]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.3...v0.3.4
|
|
199
|
+
[0.3.3]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.2...v0.3.3
|
|
200
|
+
[0.3.2]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.1...v0.3.2
|
|
201
|
+
[0.3.1]: https://github.com/TedaLIEz/lixinger-python/compare/v0.3.0...v0.3.1
|
|
202
|
+
[0.3.0]: https://github.com/TedaLIEz/lixinger-python/compare/v0.2.0...v0.3.0
|
|
203
|
+
[0.2.0]: https://github.com/TedaLIEz/lixinger-python/compare/v0.1.0...v0.2.0
|
|
204
|
+
[0.1.0]: https://github.com/TedaLIEz/lixinger-python/releases/tag/v0.1.0
|
|
@@ -146,33 +146,6 @@ git push origin v0.1.0
|
|
|
146
146
|
|
|
147
147
|
Update `CHANGELOG.md` with the changes in this release.
|
|
148
148
|
|
|
149
|
-
## Using in Another Project
|
|
150
|
-
|
|
151
|
-
After publishing, you can use it in your other project:
|
|
152
|
-
|
|
153
|
-
```bash
|
|
154
|
-
# With pip
|
|
155
|
-
pip install lixinger-python
|
|
156
|
-
|
|
157
|
-
# With uv
|
|
158
|
-
uv add lixinger-python
|
|
159
|
-
|
|
160
|
-
# Install specific version
|
|
161
|
-
uv add lixinger-python==0.1.0
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
In your code:
|
|
165
|
-
|
|
166
|
-
```python
|
|
167
|
-
from lixinger import LixingerClient
|
|
168
|
-
|
|
169
|
-
# Remember to create .env file with LIXINGER_API_KEY
|
|
170
|
-
with LixingerClient() as client:
|
|
171
|
-
df = client.company.company.get_company(stock_codes=["600036"])
|
|
172
|
-
print(df)
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
|
|
176
149
|
## Best Practices
|
|
177
150
|
|
|
178
151
|
1. **Always test on TestPyPI first** before publishing to production PyPI
|
|
@@ -181,4 +154,5 @@ with LixingerClient() as client:
|
|
|
181
154
|
4. **Write a CHANGELOG.md** to document changes between versions
|
|
182
155
|
5. **Never commit sensitive files** like `.pypirc` or `.env`
|
|
183
156
|
6. **Follow semantic versioning** for version numbers
|
|
184
|
-
7. **Run all tests** before publishing
|
|
157
|
+
7. **Run all tests** before publishing
|
|
158
|
+
8. **Update CHANGELOG.md** before pushing to PyPI
|
|
@@ -42,6 +42,17 @@ from lixinger.api.cn.index import (
|
|
|
42
42
|
from lixinger.api.cn.index import (
|
|
43
43
|
get_drawdown as get_index_drawdown,
|
|
44
44
|
)
|
|
45
|
+
from lixinger.api.cn.industry import (
|
|
46
|
+
get_industry_cni_margin_trading,
|
|
47
|
+
get_industry_sw_2021_margin_trading,
|
|
48
|
+
get_industry_sw_margin_trading,
|
|
49
|
+
)
|
|
50
|
+
from lixinger.api.macro import (
|
|
51
|
+
get_national_debt,
|
|
52
|
+
get_rmb_deposits,
|
|
53
|
+
get_rmb_loans,
|
|
54
|
+
get_social_financing,
|
|
55
|
+
)
|
|
45
56
|
from lixinger.client import AsyncLixingerClient
|
|
46
57
|
from lixinger.config import set_token
|
|
47
58
|
from lixinger.exceptions import (
|
|
@@ -95,4 +106,13 @@ __all__ = [
|
|
|
95
106
|
"get_index_bank_statements",
|
|
96
107
|
"get_index_security_statements",
|
|
97
108
|
"get_index_hybrid_statements",
|
|
109
|
+
# Industry margin trading
|
|
110
|
+
"get_industry_sw_margin_trading",
|
|
111
|
+
"get_industry_sw_2021_margin_trading",
|
|
112
|
+
"get_industry_cni_margin_trading",
|
|
113
|
+
# Macro
|
|
114
|
+
"get_national_debt",
|
|
115
|
+
"get_rmb_deposits",
|
|
116
|
+
"get_rmb_loans",
|
|
117
|
+
"get_social_financing",
|
|
98
118
|
]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"""Industry-related APIs."""
|
|
2
|
+
|
|
3
|
+
from lixinger.api.cn.industry.margin_trading import (
|
|
4
|
+
IndustryCniMarginTradingAPI,
|
|
5
|
+
IndustrySw2021MarginTradingAPI,
|
|
6
|
+
IndustrySwMarginTradingAPI,
|
|
7
|
+
get_industry_cni_margin_trading,
|
|
8
|
+
get_industry_sw_2021_margin_trading,
|
|
9
|
+
get_industry_sw_margin_trading,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
__all__ = [
|
|
13
|
+
# API Classes
|
|
14
|
+
"IndustryCniMarginTradingAPI",
|
|
15
|
+
"IndustrySw2021MarginTradingAPI",
|
|
16
|
+
"IndustrySwMarginTradingAPI",
|
|
17
|
+
# Functional APIs
|
|
18
|
+
"get_industry_cni_margin_trading",
|
|
19
|
+
"get_industry_sw_2021_margin_trading",
|
|
20
|
+
"get_industry_sw_margin_trading",
|
|
21
|
+
]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""Industry margin trading and securities lending APIs.
|
|
2
|
+
|
|
3
|
+
This module provides access to industry margin trading APIs by industry
|
|
4
|
+
classification system:
|
|
5
|
+
|
|
6
|
+
- sw: 申万行业 (Shenwan / SW)
|
|
7
|
+
- sw_2021: 申万2021版行业 (Shenwan 2021)
|
|
8
|
+
- cni: 国证行业 (CNI)
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
from lixinger.api.cn.industry.margin_trading.cni import (
|
|
12
|
+
IndustryCniMarginTradingAPI,
|
|
13
|
+
get_industry_cni_margin_trading,
|
|
14
|
+
)
|
|
15
|
+
from lixinger.api.cn.industry.margin_trading.sw import (
|
|
16
|
+
IndustrySwMarginTradingAPI,
|
|
17
|
+
get_industry_sw_margin_trading,
|
|
18
|
+
)
|
|
19
|
+
from lixinger.api.cn.industry.margin_trading.sw_2021 import (
|
|
20
|
+
IndustrySw2021MarginTradingAPI,
|
|
21
|
+
get_industry_sw_2021_margin_trading,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
__all__ = [
|
|
25
|
+
# API Classes
|
|
26
|
+
"IndustryCniMarginTradingAPI",
|
|
27
|
+
"IndustrySw2021MarginTradingAPI",
|
|
28
|
+
"IndustrySwMarginTradingAPI",
|
|
29
|
+
# Functional APIs
|
|
30
|
+
"get_industry_cni_margin_trading",
|
|
31
|
+
"get_industry_sw_2021_margin_trading",
|
|
32
|
+
"get_industry_sw_margin_trading",
|
|
33
|
+
]
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"""Industry (国证) margin trading and securities lending APIs."""
|
|
2
|
+
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
import pandas as pd
|
|
6
|
+
|
|
7
|
+
from lixinger.api.base import BaseAPI
|
|
8
|
+
from lixinger.models.cn.industry.margin_trading.cni import IndustryCniMarginTrading
|
|
9
|
+
from lixinger.utils.api import api
|
|
10
|
+
from lixinger.utils.dataframe import get_response_df
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class IndustryCniMarginTradingAPI(BaseAPI):
|
|
14
|
+
"""国证行业融资融券 API."""
|
|
15
|
+
|
|
16
|
+
async def get_margin_trading(
|
|
17
|
+
self,
|
|
18
|
+
stock_code: str,
|
|
19
|
+
start_date: str,
|
|
20
|
+
end_date: str | None = None,
|
|
21
|
+
limit: int | None = None,
|
|
22
|
+
) -> pd.DataFrame:
|
|
23
|
+
"""获取国证行业融资融券数据.
|
|
24
|
+
|
|
25
|
+
获取国证(cni)行业每日的融资融券数据. 可按行业代码批量查询返回每日行业融资买入金额、
|
|
26
|
+
融资偿还金额、融资净买入金额、融资余额、融券卖出金额、融券偿还金额、
|
|
27
|
+
融券净卖出金额、融券余额等数据. 当用户想了解国证(cni)行业每日的融资融券余额
|
|
28
|
+
以及变动情况、观察杠杆资金进出节奏或分析做空力量时, 调用此接口.
|
|
29
|
+
|
|
30
|
+
API Endpoint: /cn/industry/margin-trading-and-securities-lending/cni
|
|
31
|
+
API Method: POST
|
|
32
|
+
API Doc: https://www.lixinger.com/open/api/doc?api-key=cn/industry/margin-trading-and-securities-lending/cni
|
|
33
|
+
|
|
34
|
+
Args:
|
|
35
|
+
stock_code: 国证行业代码, 请参考行业信息API获取合法的stockCode
|
|
36
|
+
start_date: 信息起始时间 (YYYY-MM-DD, 北京时间), 开始和结束的时间间隔不超过10年
|
|
37
|
+
end_date: 结束信息日期 (YYYY-MM-DD, 北京时间), 默认为今天结束
|
|
38
|
+
limit: 返回最近数据的数量
|
|
39
|
+
|
|
40
|
+
Returns:
|
|
41
|
+
DataFrame containing margin trading data with columns:
|
|
42
|
+
|
|
43
|
+
- date: 数据时间
|
|
44
|
+
- stock_code: 行业代码
|
|
45
|
+
- financing_purchase_amount: 融资买入金额
|
|
46
|
+
- financing_repayment_amount: 融资偿还金额
|
|
47
|
+
- financing_net_purchase_amount: 融资净买入金额
|
|
48
|
+
- financing_balance: 融资余额
|
|
49
|
+
- securities_sell_amount: 融券卖出金额
|
|
50
|
+
- securities_repayment_amount: 融券偿还金额
|
|
51
|
+
- securities_net_sell_amount: 融券净卖出金额
|
|
52
|
+
- securities_balance: 融券余额
|
|
53
|
+
- financing_balance_to_market_cap: 融资余额占流通市值比例
|
|
54
|
+
- securities_balance_to_market_cap: 融券余额占流通市值比例
|
|
55
|
+
|
|
56
|
+
Example:
|
|
57
|
+
获取国证行业融资融券数据::
|
|
58
|
+
|
|
59
|
+
from lixinger import AsyncLixingerClient
|
|
60
|
+
|
|
61
|
+
async with AsyncLixingerClient() as client:
|
|
62
|
+
df = await client.cn_industry.margin_trading.cni.get_margin_trading(
|
|
63
|
+
stock_code="C07",
|
|
64
|
+
start_date="2025-06-13",
|
|
65
|
+
end_date="2026-06-13",
|
|
66
|
+
)
|
|
67
|
+
print(df)
|
|
68
|
+
|
|
69
|
+
"""
|
|
70
|
+
payload: dict[str, Any] = {
|
|
71
|
+
"stockCode": stock_code,
|
|
72
|
+
"startDate": start_date,
|
|
73
|
+
}
|
|
74
|
+
if end_date is not None:
|
|
75
|
+
payload["endDate"] = end_date
|
|
76
|
+
if limit is not None:
|
|
77
|
+
payload["limit"] = limit
|
|
78
|
+
|
|
79
|
+
data = await self._request(
|
|
80
|
+
"POST",
|
|
81
|
+
"/cn/industry/margin-trading-and-securities-lending/cni",
|
|
82
|
+
json=payload,
|
|
83
|
+
)
|
|
84
|
+
for item in data:
|
|
85
|
+
item["stockCode"] = stock_code
|
|
86
|
+
return get_response_df(data, IndustryCniMarginTrading)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
# Functional API instance
|
|
90
|
+
_api_instance = IndustryCniMarginTradingAPI()
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
@api
|
|
94
|
+
async def get_industry_cni_margin_trading(
|
|
95
|
+
stock_code: str,
|
|
96
|
+
start_date: str,
|
|
97
|
+
end_date: str | None = None,
|
|
98
|
+
limit: int | None = None,
|
|
99
|
+
) -> pd.DataFrame:
|
|
100
|
+
"""获取国证行业融资融券数据.
|
|
101
|
+
|
|
102
|
+
Args:
|
|
103
|
+
stock_code: 国证行业代码
|
|
104
|
+
start_date: 信息起始时间 (YYYY-MM-DD)
|
|
105
|
+
end_date: 结束信息日期 (YYYY-MM-DD)
|
|
106
|
+
limit: 返回最近数据的数量
|
|
107
|
+
|
|
108
|
+
Returns:
|
|
109
|
+
DataFrame containing cni industry margin trading data
|
|
110
|
+
|
|
111
|
+
Example:
|
|
112
|
+
获取国证行业融资融券数据::
|
|
113
|
+
|
|
114
|
+
from lixinger import get_industry_cni_margin_trading
|
|
115
|
+
|
|
116
|
+
df = await get_industry_cni_margin_trading(
|
|
117
|
+
stock_code="C07",
|
|
118
|
+
start_date="2025-06-13",
|
|
119
|
+
end_date="2026-06-13",
|
|
120
|
+
)
|
|
121
|
+
print(df)
|
|
122
|
+
|
|
123
|
+
"""
|
|
124
|
+
return await _api_instance.get_margin_trading(
|
|
125
|
+
stock_code=stock_code,
|
|
126
|
+
start_date=start_date,
|
|
127
|
+
end_date=end_date,
|
|
128
|
+
limit=limit,
|
|
129
|
+
)
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"""Industry (申万) margin trading and securities lending APIs."""
|
|
2
|
+
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
import pandas as pd
|
|
6
|
+
|
|
7
|
+
from lixinger.api.base import BaseAPI
|
|
8
|
+
from lixinger.models.cn.industry.margin_trading.sw import IndustrySwMarginTrading
|
|
9
|
+
from lixinger.utils.api import api
|
|
10
|
+
from lixinger.utils.dataframe import get_response_df
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class IndustrySwMarginTradingAPI(BaseAPI):
|
|
14
|
+
"""申万行业融资融券 API."""
|
|
15
|
+
|
|
16
|
+
async def get_margin_trading(
|
|
17
|
+
self,
|
|
18
|
+
stock_code: str,
|
|
19
|
+
start_date: str,
|
|
20
|
+
end_date: str | None = None,
|
|
21
|
+
limit: int | None = None,
|
|
22
|
+
) -> pd.DataFrame:
|
|
23
|
+
"""获取申万行业融资融券数据.
|
|
24
|
+
|
|
25
|
+
获取申万(sw)行业每日的融资融券数据. 可按行业代码批量查询返回每日行业融资买入金额、
|
|
26
|
+
融资偿还金额、融资净买入金额、融资余额、融券卖出金额、融券偿还金额、
|
|
27
|
+
融券净卖出金额、融券余额等数据. 当用户想了解申万(sw)行业每日的融资融券余额
|
|
28
|
+
以及变动情况、观察杠杆资金进出节奏或分析做空力量时, 调用此接口.
|
|
29
|
+
|
|
30
|
+
API Endpoint: /cn/industry/margin-trading-and-securities-lending/sw
|
|
31
|
+
API Method: POST
|
|
32
|
+
API Doc: https://www.lixinger.com/open/api/doc?api-key=cn/industry/margin-trading-and-securities-lending/sw
|
|
33
|
+
|
|
34
|
+
Args:
|
|
35
|
+
stock_code: 申万行业代码, 请参考行业信息API获取合法的stockCode
|
|
36
|
+
start_date: 信息起始时间 (YYYY-MM-DD, 北京时间), 开始和结束的时间间隔不超过10年
|
|
37
|
+
end_date: 结束信息日期 (YYYY-MM-DD, 北京时间), 默认为今天结束
|
|
38
|
+
limit: 返回最近数据的数量
|
|
39
|
+
|
|
40
|
+
Returns:
|
|
41
|
+
DataFrame containing margin trading data with columns:
|
|
42
|
+
|
|
43
|
+
- date: 数据时间
|
|
44
|
+
- stock_code: 行业代码
|
|
45
|
+
- financing_purchase_amount: 融资买入金额
|
|
46
|
+
- financing_repayment_amount: 融资偿还金额
|
|
47
|
+
- financing_net_purchase_amount: 融资净买入金额
|
|
48
|
+
- financing_balance: 融资余额
|
|
49
|
+
- securities_sell_amount: 融券卖出金额
|
|
50
|
+
- securities_repayment_amount: 融券偿还金额
|
|
51
|
+
- securities_net_sell_amount: 融券净卖出金额
|
|
52
|
+
- securities_balance: 融券余额
|
|
53
|
+
- financing_balance_to_market_cap: 融资余额占流通市值比例
|
|
54
|
+
- securities_balance_to_market_cap: 融券余额占流通市值比例
|
|
55
|
+
|
|
56
|
+
Example:
|
|
57
|
+
获取申万行业融资融券数据::
|
|
58
|
+
|
|
59
|
+
from lixinger import AsyncLixingerClient
|
|
60
|
+
|
|
61
|
+
async with AsyncLixingerClient() as client:
|
|
62
|
+
df = await client.cn_industry.margin_trading.sw.get_margin_trading(
|
|
63
|
+
stock_code="490000",
|
|
64
|
+
start_date="2025-06-13",
|
|
65
|
+
end_date="2026-06-13",
|
|
66
|
+
)
|
|
67
|
+
print(df)
|
|
68
|
+
|
|
69
|
+
"""
|
|
70
|
+
payload: dict[str, Any] = {
|
|
71
|
+
"stockCode": stock_code,
|
|
72
|
+
"startDate": start_date,
|
|
73
|
+
}
|
|
74
|
+
if end_date is not None:
|
|
75
|
+
payload["endDate"] = end_date
|
|
76
|
+
if limit is not None:
|
|
77
|
+
payload["limit"] = limit
|
|
78
|
+
|
|
79
|
+
data = await self._request(
|
|
80
|
+
"POST",
|
|
81
|
+
"/cn/industry/margin-trading-and-securities-lending/sw",
|
|
82
|
+
json=payload,
|
|
83
|
+
)
|
|
84
|
+
for item in data:
|
|
85
|
+
item["stockCode"] = stock_code
|
|
86
|
+
return get_response_df(data, IndustrySwMarginTrading)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
# Functional API instance
|
|
90
|
+
_api_instance = IndustrySwMarginTradingAPI()
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
@api
|
|
94
|
+
async def get_industry_sw_margin_trading(
|
|
95
|
+
stock_code: str,
|
|
96
|
+
start_date: str,
|
|
97
|
+
end_date: str | None = None,
|
|
98
|
+
limit: int | None = None,
|
|
99
|
+
) -> pd.DataFrame:
|
|
100
|
+
"""获取申万行业融资融券数据.
|
|
101
|
+
|
|
102
|
+
Args:
|
|
103
|
+
stock_code: 申万行业代码
|
|
104
|
+
start_date: 信息起始时间 (YYYY-MM-DD)
|
|
105
|
+
end_date: 结束信息日期 (YYYY-MM-DD)
|
|
106
|
+
limit: 返回最近数据的数量
|
|
107
|
+
|
|
108
|
+
Returns:
|
|
109
|
+
DataFrame containing sw industry margin trading data
|
|
110
|
+
|
|
111
|
+
Example:
|
|
112
|
+
获取申万行业融资融券数据::
|
|
113
|
+
|
|
114
|
+
from lixinger import get_industry_sw_margin_trading
|
|
115
|
+
|
|
116
|
+
df = await get_industry_sw_margin_trading(
|
|
117
|
+
stock_code="490000",
|
|
118
|
+
start_date="2025-06-13",
|
|
119
|
+
end_date="2026-06-13",
|
|
120
|
+
)
|
|
121
|
+
print(df)
|
|
122
|
+
|
|
123
|
+
"""
|
|
124
|
+
return await _api_instance.get_margin_trading(
|
|
125
|
+
stock_code=stock_code,
|
|
126
|
+
start_date=start_date,
|
|
127
|
+
end_date=end_date,
|
|
128
|
+
limit=limit,
|
|
129
|
+
)
|