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.0.tar.gz (5.5 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.0-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: a-share-code-converter-0.2.0.tar.gz
  • Upload date:
  • Size: 5.5 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.0.tar.gz
Algorithm Hash digest
SHA256 c33ef4c28a165fe31b1d94e3de4c903904139d247dd14e2976be34de82372534
MD5 1d394c78811457c056594edd4ced8a25
BLAKE2b-256 656bf25c5a6a6ddd0732ac574d05434a40089d660f5374baf835527d20e10fb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for a_share_code_converter-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f76cefcd7cfeea3149b869caaabb5bf594991b3fa857bb4a4de108f79eaf0e51
MD5 96f37b28b47195afa9fc166601e7ccbe
BLAKE2b-256 aac7fd13108149f1a284122fbac230d89116ca50c6ff0922bf0a12b2ed5478e3

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