Abstract
We propose a new approach to portfolio optimization that utilizes a unique combination of synthetic data generation and a CVaR-constraint. We formulate the portfolio optimization problem as an asset allocation problem in which each asset class is accessed through a passive (index) fund. The asset-class weights are determined by solving an optimization problem which includes a CVaR-constraint. The optimization is carried out by means of a Modified CTGAN algorithm which incorporates features (contextual information) and is used to generate synthetic return scenarios, which, in turn, are fed into the optimization engine. For contextual information, we rely on several points along the U.S. Treasury yield curve. The merits of this approach are demonstrated with an example based on 10 asset classes (covering stocks, bonds, and commodities) over a fourteen-and-half-year period (January 2008–June 2022). We also show that the synthetic generation process is able to capture well the key characteristics of the original data, and the optimization scheme results in portfolios that exhibit satisfactory out-of-sample performance. We also show that this approach outperforms the conventional equal-weights (1/N) asset allocation strategy and other optimization formulations based on historical data only.
Disclosure statement
No potential conflict of interest was reported by the author(s).
Data availability statement
The code and data that support the findings of this study are openly available in GitHub at https://github.com/chuma9615/ctgan-portfolio-research, Historical data was obtained from Bloomberg.
Correction Statement
This article has been corrected with minor changes. These changes do not impact the academic content of the article.
Notes
1 We use boldface font for vectors to distinguish them from scalars.
2 We say normalized in the sense of transforming the variables into something comparable between them. For simplicity, in our study we used a zero mean normalization (Z-score).