Optimizing Portfolio with Two-Sided Transactions and Lending: A Reinforcement Learning Framework

Ali Habibnia, Mahdi Soltanzadeh
8/9/2024
q-fin.PMcs.LG

No confident code implementation found for this paper.

Abstract

This study presents a Reinforcement Learning (RL)-based portfolio management model tailored for high-risk environments, addressing the limitations of traditional RL models and exploiting market opportunities through two-sided transactions and lending. Our approach integrates a new environmental formulation with a Profit and Loss (PnL)-based reward function, enhancing the RL agent's ability in downside risk management and capital optimization. We implemented the model using the Soft Actor-Critic (SAC) agent with a Convolutional Neural Network with Multi-Head Attention (CNN-MHA). This setup effectively manages a diversified 12-crypto asset portfolio in the Binance perpetual futures market, leveraging USDT for both granting and receiving loans and rebalancing every 4 hours, utilizing market data from the preceding 48 hours. Tested over two 16-month periods of varying market volatility, the model significantly outperformed benchmarks, particularly in high-volatility scenarios, achieving higher return-to-risk ratios and demonstrating robust profitability. These results confirm the model's effectiveness in leveraging market dynamics and managing risks in volatile environments like the cryptocurrency market.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{habibnia2024optimizing,
  title  = {Optimizing Portfolio with Two-Sided Transactions and Lending: A Reinforcement Learning Framework},
  author = {Ali Habibnia and Mahdi Soltanzadeh},
  year   = {2024},
  eprint = {2408.05382},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2408.05382v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2408.05382.svg)](https://codeofpaper.com/paper/2408.05382)

Discussion