{"id":24496844,"url":"https://github.com/10mohi6/jquants-pairs-trading-python","last_synced_at":"2025-10-07T02:02:01.961Z","repository":{"id":203114474,"uuid":"703395272","full_name":"10mohi6/jquants-pairs-trading-python","owner":"10mohi6","description":"jquants-pairs-trading is a python library for backtest with japanese stock pairs trading using kalman filter, J-Quants on Python 3.8 and above.","archived":false,"fork":false,"pushed_at":"2023-10-30T14:25:52.000Z","size":223,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-14T04:14:11.429Z","etag":null,"topics":["backtest","j-quants","japanese-stock","jquants","kalman-filter","pairs-trading","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/10mohi6.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-11T06:58:13.000Z","updated_at":"2024-06-30T18:36:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"fd473d53-736f-4cb2-bb98-f687248a19cb","html_url":"https://github.com/10mohi6/jquants-pairs-trading-python","commit_stats":null,"previous_names":["10mohi6/jquants-pairs-trading-python"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/10mohi6%2Fjquants-pairs-trading-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/10mohi6%2Fjquants-pairs-trading-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/10mohi6%2Fjquants-pairs-trading-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/10mohi6%2Fjquants-pairs-trading-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/10mohi6","download_url":"https://codeload.github.com/10mohi6/jquants-pairs-trading-python/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248819408,"owners_count":21166477,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backtest","j-quants","japanese-stock","jquants","kalman-filter","pairs-trading","python"],"created_at":"2025-01-21T21:19:05.442Z","updated_at":"2025-10-07T02:01:56.917Z","avatar_url":"https://github.com/10mohi6.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jquants-pairs-trading\n\n[![PyPI](https://img.shields.io/pypi/v/jquants-pairs-trading)](https://pypi.org/project/jquants-pairs-trading/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![codecov](https://codecov.io/gh/10mohi6/jquants-pairs-trading-python/graph/badge.svg?token=X8QKKFK6AL)](https://codecov.io/gh/10mohi6/jquants-pairs-trading-python)\n[![Python package](https://github.com/10mohi6/jquants-pairs-trading-python/actions/workflows/python-package.yml/badge.svg)](https://github.com/10mohi6/jquants-pairs-trading-python/actions/workflows/python-package.yml)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/jquants-pairs-trading)](https://pypi.org/project/jquants-pairs-trading/)\n[![Downloads](https://pepy.tech/badge/jquants-pairs-trading)](https://pepy.tech/project/jquants-pairs-trading)\n\njquants-pairs-trading is a python library for backtest with japanese stock pairs trading using kalman filter, J-Quants on Python 3.8 and above.\n\n\n## Installation\n\n    $ pip install jquants-pairs-trading\n\n## Usage\n\n### find pairs\n\n```python\nfrom jquants_pairs_trading import JquantsPairsTrading\nimport pprint\n\njpt = JquantsPairsTrading(\n    mail_address=\"\u003cyour J-Quants mail address\u003e\",\n    password=\"\u003cyour J-Quants password\u003e\",\n)\npprint.pprint(jpt.find_pairs([3382, 4063, 4502]))\n```\n\n![pairs.png](https://raw.githubusercontent.com/10mohi6/jquants-pairs-trading-python/main/tests/pairs.png)\n\n```python\n[('3382', '4502')]\n```\n\n### backtest\n\n```python\nfrom jquants_pairs_trading import JquantsPairsTrading\nimport pprint\n\njpt = JquantsPairsTrading(\n    mail_address=\"\u003cyour J-Quants mail address\u003e\",\n    password=\"\u003cyour J-Quants password\u003e\",\n)\npprint.pprint(jpt.backtest((3382, 4502)))\n```\n\n![performance.png](https://raw.githubusercontent.com/10mohi6/jquants-pairs-trading-python/main/tests/performance.png)\n\n```python\n{'cointegration': '0.016',\n 'correlation': '0.814',\n 'maximum_drawdown': '443.000',\n 'profit_factor': '1.654',\n 'riskreward_ratio': '1.081',\n 'sharpe_ratio': '0.183',\n 'total_profit': '2184.000',\n 'total_trades': '86.000',\n 'win_rate': '0.605'}\n```\n\n### latest signal\n\n```python\nfrom jquants_pairs_trading import JquantsPairsTrading\nimport pprint\n\njpt = JquantsPairsTrading(\n    mail_address=\"\u003cyour J-Quants mail address\u003e\",\n    password=\"\u003cyour J-Quants password\u003e\",\n)\npprint.pprint(jpt.latest_signal((6954, 6981)))\n```\n\n```python\n{'6954 buy': True,\n '6954 close': '4348.000',\n '6954 long': False,\n '6954 sell': False,\n '6954 short': False,\n '6981 buy': False,\n '6981 close': '2775.000',\n '6981 long': False,\n '6981 sell': True,\n '6981 short': False,\n 'date': '2023-07-31'}\n```\n\n### advanced\n\n```python\nfrom jquants_pairs_trading import JquantsPairsTrading\nimport pprint\n\njpt = JquantsPairsTrading(\n    mail_address=\"\u003cyour J-Quants mail address\u003e\",\n    password=\"\u003cyour J-Quants password\u003e\",\n    window=1,\n    transition_covariance=0.01,\n    pvalues=0.05,\n    zscore=0.5,\n)\npprint.pprint(jpt.find_pairs([3382, 4063, 4502]))\npprint.pprint(jpt.backtest((3382, 4502)))\npprint.pprint(jpt.latest_signal((6954, 6981)))\n```\n\n## Getting started\n\nFor help getting started with J-Quants, view our online [documentation](https://jpx-jquants.com/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F10mohi6%2Fjquants-pairs-trading-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F10mohi6%2Fjquants-pairs-trading-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F10mohi6%2Fjquants-pairs-trading-python/lists"}