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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page