Skip to main content

A lightweight Python utility to convert A-share stock codes to various formats

Project description

A-Share Code Converter

a-share-code-converter is a lightweight Python utility that helps you normalize and convert Chinese A-share stock codes between various formats. It supports:

  • Conversion to pure integer codes (e.g., 600519)
  • Conversion to zero-padded string codes (e.g., "600519")
  • Conversion to suffixed formats indicating exchanges (e.g., "600519.SH")

The converter supports multiple input types, including:

  • Python list
  • NumPy arrays
  • pandas.Series
  • polars.Series

📦 Installation

pip install a-share-code-converter

🚀 Usage

The CodeConverter class provides the following key methods:

1. CodeConverter.to_int(codes)

Converts various code formats (e.g. "600519.SH", "000001", 430047) into pure 6-digit integers.

  • ✅ Strips suffixes like .SH, .SZ, .BJ
  • ✅ Works with list, numpy.ndarray, pandas.Series, polars.Series
from a_share_code_converter import CodeConverter

codes = ["600519", "000001.SZ", "430047.BJ", 2415]

CodeConverter.to_int(codes)
# Output: [600519, 1, 430047, 2415]

2. CodeConverter.to_str(codes)

Converts input to zero-padded 6-digit string format without any suffix.

✅ Ensures all codes are 6-character strings like '000001', '600519'

CodeConverter.to_str(codes)
# Output: ['600519', '000001', '430047', '002415']

3. CodeConverter.to_suffix(codes)

Converts codes to full format with market suffix, e.g., '600519.SH'.

  • ✅ Based on numeric code ranges:

    • .SZ: 000000–399999

    • .SH: 600000–699999

    • .BJ: 400000–499999, 800000–899999

CodeConverter.to_suffix(codes)
# Output: ['600519.SH', '000001.SZ', '430047.BJ', '002415.SZ']

4. CodeConverter.convert(codes, to)

A unified entry point to perform conversion. Choose target format via to parameter:

to value Result
'int' Integer codes (int or np.int64)
'str' 6-digit zero-padded string codes
'suffix' 6-digit string with .SH/.SZ/.BJ
CodeConverter.convert(codes, to='int')
# Output: [600519, 1, 430047, 2415]

CodeConverter.convert(codes, to='str')
# Output: ['600519', '000001', '430047', '002415']

CodeConverter.convert(codes, to='suffix')
# Output: ['600519.SH', '000001.SZ', '430047.BJ', '002415.SZ']

🧪 Supported Input Types

  • list[str | int | float]

  • numpy.ndarray

  • pandas.Series

  • polars.Series

All methods will preserve the original type (e.g., return a pandas.Series if input is a pandas.Series).

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

a-share-code-converter-0.2.1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

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

a_share_code_converter-0.2.1-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file a-share-code-converter-0.2.1.tar.gz.

File metadata

  • Download URL: a-share-code-converter-0.2.1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.7

File hashes

Hashes for a-share-code-converter-0.2.1.tar.gz
Algorithm Hash digest
SHA256 00bc3ce5967eb90105ba7ccbf41988f2613738dbf6846b6bcd248e2b0ac3e3dd
MD5 f0d291478aac7804b6744ca460f588f7
BLAKE2b-256 912be6036e8e10d80cf47f84d73f2a4960ee012bea16ba75b46ba3d2f08aa3ce

See more details on using hashes here.

File details

Details for the file a_share_code_converter-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for a_share_code_converter-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d8ea53fc512546fc6fbb97f5d1218f9d90b1efcb77a079f81bfb5869eb1bb323
MD5 5304f46d7a2e99a1426ce03656fb6a79
BLAKE2b-256 7dcf46958fad01e741d11ad0bae1af6246bef8260a7ec76d057c344656bfc2a1

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