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.
$ pip install jquants-pairs-trading
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]))
[('3382', '4502')]
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)))
{'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'}
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'}
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)))
For help getting started with J-Quants, view our online documentation.