Skip to main content

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.

Project description

jquants-pairs-trading

PyPI License: MIT codecov Python package PyPI - Python Version Downloads

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.

Installation

$ pip install jquants-pairs-trading

Usage

find pairs

from jquants_pairs_trading import JquantsPairsTrading
import pprint

jpt = JquantsPairsTrading(
    mail_address="<your J-Quants mail address>",
    password="<your J-Quants password>",
)
pprint.pprint(jpt.find_pairs([3382, 4063, 4502]))

pairs.png

[('3382', '4502')]

backtest

from jquants_pairs_trading import JquantsPairsTrading
import pprint

jpt = JquantsPairsTrading(
    mail_address="<your J-Quants mail address>",
    password="<your J-Quants password>",
)
pprint.pprint(jpt.backtest((3382, 4502)))

performance.png

{'cointegration': '0.016',
 'correlation': '0.814',
 'maximum_drawdown': '443.000',
 'profit_factor': '1.654',
 'riskreward_ratio': '1.081',
 'sharpe_ratio': '0.183',
 'total_profit': '2184.000',
 'total_trades': '86.000',
 'win_rate': '0.605'}

latest signal

from jquants_pairs_trading import JquantsPairsTrading
import pprint

jpt = JquantsPairsTrading(
    mail_address="<your J-Quants mail address>",
    password="<your J-Quants password>",
)
pprint.pprint(jpt.latest_signal((6954, 6981)))
{'6954 buy': True,
 '6954 close': '4348.000',
 '6954 long': False,
 '6954 sell': False,
 '6954 short': False,
 '6981 buy': False,
 '6981 close': '2775.000',
 '6981 long': False,
 '6981 sell': True,
 '6981 short': False,
 'date': '2023-07-31'}

advanced

from jquants_pairs_trading import JquantsPairsTrading
import pprint

jpt = JquantsPairsTrading(
    mail_address="<your J-Quants mail address>",
    password="<your J-Quants password>",
    window=1,
    transition_covariance=0.01,
    pvalues=0.05,
    zscore=0.5,
)
pprint.pprint(jpt.find_pairs([3382, 4063, 4502]))
pprint.pprint(jpt.backtest((3382, 4502)))
pprint.pprint(jpt.latest_signal((6954, 6981)))

Getting started

For help getting started with J-Quants, view our online documentation.

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

jquants-pairs-trading-0.1.2.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

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

jquants_pairs_trading-0.1.2-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file jquants-pairs-trading-0.1.2.tar.gz.

File metadata

  • Download URL: jquants-pairs-trading-0.1.2.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for jquants-pairs-trading-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c92e79baf1931b9642ce93ebb16c5e4ecd16624ed2530cec0afdd248d8e11723
MD5 f1b21e1d924660a45b6f4ab4bccb41d1
BLAKE2b-256 358df20b79856306793d53107e6bf93594c698e32b0be9100a295edfa4d22a82

See more details on using hashes here.

File details

Details for the file jquants_pairs_trading-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for jquants_pairs_trading-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6775748295ecc16c489f2829bd9b171e85afc87820eb076b5862c0cebc3a221a
MD5 47b4e0e16e77057e9551e481d33a5bf2
BLAKE2b-256 942afce3b87950c388ceb3646a70fe534ab14d8b5303d4f66f953826d5662ca5

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