Next Article in Journal
Unitary Entities Are the True “Atoms”
Previous Article in Journal
A Hyperspectral Remote Sensing Image Encryption Algorithm Based on a Novel Two-Dimensional Hyperchaotic Map
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Monte Carlo-Based Framework for Two-Stage Stochastic Programming: Application to Bond Portfolio Optimization

1
Department of Mathematics and Systems Engineering, Florida Institute of Technology, Melbourne, FL 32901, USA
2
Department of Mathematics, College of Science, Turabah University College, Taif University, Turbah 29731-9086, Saudi Arabia
3
Essect School of Business, University of Tunis, Tunis 1089, Tunisia
4
Business Analytics and Decision Making Lab, Tunis Business School, University of Tunis, Bir El Kassaa 2059, Tunisia
5
Department of Industrial Engineering, College of Engineering, King Saud University, Riyadh 11421, Saudi Arabia
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Entropy 2025, 27(11), 1118; https://doi.org/10.3390/e27111118
Submission received: 31 March 2025 / Revised: 24 October 2025 / Accepted: 24 October 2025 / Published: 30 October 2025
(This article belongs to the Section Multidisciplinary Applications)

Abstract

This paper presents a Monte Carlo simulation-based approach for solving stochastic two-stage bond portfolio optimization problems. The main objective is to optimize the cost of the bond portfolio while making decisions on bond purchases, holdings, and sales under random market conditions such as interest rate fluctuations and liabilities. The proposed algorithm identifies the number of randomly generated scenarios required to convert the stochastic problem into a deterministic one, subsequently solving it as a Mixed-Integer Linear Program. The practical relevance of this research is shown through an application of the proposed method to a real-world bond market. The results indicate that the proposed approach successfully minimizes costs and meets liabilities, providing a robust solution for bond portfolio optimization.

1. Introduction

This paper focuses on the use of two-stage stochastic programming in bond portfolio optimization. In the realm of financial decision-making, uncertainty plays a critical role, particularly in bond portfolio optimization where market parameters such as interest rates and liabilities are inherently volatile. Two-stage stochastic programming provides a powerful modeling framework for bond portfolio optimization problems by enabling early-stage decisions followed by adaptive responses to realized outcomes. Bond portfolios, even those constructed conservatively, are subject to substantial risks due to fluctuating interest rates, bond prices, cash requirements, liabilities, and potential defaults. Effective management of these portfolios requires robust optimization techniques capable of handling such uncertainties.
The portfolio selection problem is one of the most prominent research topics in modern finance (Ardakani 2024 [1]; Yan et al., 2023 [2]; Novais et al., 2022 [3]). Finding a combination of assets that satisfies an investor’s needs is the main goal of portfolio selection problem theory. The theory of portfolio optimization was developed by Markowitz (1952) [4]. Bond portfolios are subject to major uncertainties and risks even when they are conservatively assembled. Some of the uncertainties associated with the bond portfolio model can be seen as uncertainties in the interest rates and their effects on bond prices, including the cash requirements or liabilities of the portfolio and the possibility of bond re-calls or defaults due to bankruptcy, to name just a few (Shapiro 1988 [5]). The dynamic model of the bond portfolio problem proposed by Bradley and Crane (1972) [6] can be viewed as a multi-stage decision problem in which actions such as “buying, holding, or selling” bonds are taken at successive time points.
In this paper, we propose a Monte Carlo simulation-based methodology to solve a two-stage stochastic bond portfolio optimization problem, incorporating concepts from uncertainty quantification to guide scenario generation and improve decision quality. Specifically, we use the sample average approximation (SAA) approach to reduce the uncertainty space by generating a representative set of market scenarios (Hu et al. 2020 [7]; Jiang and Li 2021 [8]). SAA leverages iterative random sampling from input distributions to estimate objective function values, thereby directing the optimization process (Bertsimas et al., 2018 [9]). Through the systematic generation of random scenarios, the methodology transforms the stochastic framework into a deterministic problem structure, enabling resolution via Mixed-Integer Linear Programming (MILP) techniques implemented through commercial optimization software. An entropy-based approach can also be used for portfolio optimization (Novais et al., 2022 [3]; Mercurio et al., 2020 [10]).
Let x and y designate the first- and second-stage decision vectors, respectively, and let ξ be the random vector to be observed. Then, the decision-observation scheme (Prékopa 1995 [11]) is
“Decision on x → Observation of ξ → Decision on y.”
The second-stage problem is formulated under the assumption that the values of x and ξ are known:
min q T y s . t T x + W y = ξ y 0
Assume that the first-stage decision vector x satisfies the deterministic constraints: A x = b , x 0 , and let F be the set of all those x vectors for which problem (1) has a feasible solution for every possible value of the random vector ξ . Matrices T R m 2 × n 1 associated with vector x and W R m 2 × n 2 associated with vector y are called the technology matrix and the recourse matrix, respectively.
Let q ( x , ξ ) designate the optimum value of problem (1), and  Q ( x ) = E [ q ( x , ξ ) ] be the recourse function. Then, the first-stage problem can be formulated as:
min c T x + Q ( x ) subject to A x = b x 0 x F
equivalently,
min c T x + E [ q ( x , ξ ) ] subject to A x = b x 0 x F
 where
  • x R n 1 : first-stage decision vector,
  • y R n 2 : second-stage decision vector,
  • ξ R m 2 : a random vector to be observed,
  • F: set of all x R n 1 for which problem (1) has feasible solutions for every possible value of the random vector ξ ,
  • c R n 1 : cost vector corresponding to the first-stage decision vector x,
  • q R n 2 : cost vector corresponding to the second-stage decision vector y,
  • A R m 1 × n 1 : coefficient matrix, and  b R m 1 : right-hand side vector of the equality constraints.
Let x F and Ξ denote the support of the random vector ξ . Then, problem (3) has a finite optimum if, and only if, there exists a vector z R m 2 such that W T z q . This assertion follows from the duality theory in linear programming (Prékopa 1995 [11]). If such vector z exists (z is dual feasible) and the expected value of the random variable ξ exists, then for every x F , the expectation E [ q ( x , ξ ) ] exists and is a convex function on the convex polyhedron F (Prékopa 1995 [11]).
One approach to solve problem (3) is to approximate E [ q ( x , ξ ) ] using the Monte Carlo simulation-based method (Shapiro 2001 [12]). Monte Carlo sampling constitutes a widely implemented methodology for addressing stochastic optimization challenges through iterative random sampling procedures. The approach estimates objective function values via repeated sampling from specified input distributions, utilizing these estimates to direct the optimization trajectory. This computational framework operates by generating substantial quantities of random samples from appropriate probability distributions—whether uniform, normal, exponential, or others—contingent upon problem characteristics. Once the samples have been generated, an appropriate optimization algorithm can be used to estimate the objective function and search for an optimal solution (Brandimarte 2014 [13]).
The motivation of this research stems from challenges in bond portfolio optimization under uncertainty, particularly in the Saudi Sukuk (bond) market. To address these challenges, we adopt and extend the two-stage stochastic programming framework by introducing a novel adaptive sampling rule, thereby combining methodological innovation with practical relevance. While two-stage stochastic programming combined with Monte Carlo simulation and sample average approximation (SAA) is well established in the literature, the originality of our study lies in extending these methods both methodologically and in application. Methodologically, we develop a novel adaptive sampling procedure that introduces a dual-condition stopping criterion based simultaneously on hypothesis tests of the sample mean and the sample variance across successive iterations. If both tests confirm equality, the algorithm terminates since enlarging the sample would not yield further improvement; otherwise, the sample size is expanded and the procedure is repeated. This ensures that the sample size is increased only when statistically significant improvements are observed, thereby enhancing computational efficiency without compromising solution quality. To the best of our knowledge, such a dual statistical stopping mechanism has not been applied before in stochastic programming. From an application perspective, although the SAA approach is common in stochastic programming in general, its direct use in bond portfolio optimization remains virtually unexplored. Existing works on bond portfolios under uncertainty (Alreshidi et al., 2020 [14]; Alkailany et al., 2022 [15]) typically rely on fixed scenario trees or deterministic recourse models. By adopting the SAA in this context, and further innovating with the proposed dual statistical stopping criterion, our paper extends a general methodology into a new and underdeveloped application area, thereby contributing both methodological novelty and practical relevance.
The remainder of this paper is organized as follows: Section 2 reviews the relevant literature on bond portfolio optimization and stochastic programming. Section 3 presents the basic mathematical models for the studied problem. Section 4 details the methodology of the Monte Carlo simulation approach. Section 5 presents a case study applying the proposed method to the Saudi Sukuk market and discusses its results and implications. Finally, Section 6 concludes the paper with a summary of findings and potential directions for future research.

2. Literature Review

The portfolio selection problem has been a crucial research topic in modern finance, with the primary goal of identifying asset combinations that fulfill investor needs. The foundational theory of portfolio optimization was introduced by Markowitz (1952) [4], establishing a basis for understanding and managing the uncertainties and risks inherent in bond portfolios. These risks include fluctuating interest rates, bond prices, cash requirements, liabilities, and the potential for bond recalls or defaults (Shapiro 1988 [5]).
Bradley and Crane (1972) [6] pioneered a dynamic bond portfolio model, conceptualizing it as a multi-stage decision process involving sequential actions such as buying, holding, or selling bonds. This model was enhanced by Hodges and Schaefer (1977) [16], demonstrating that a deterministic optimization approach could reduce bond portfolio cost and initial investments while maintaining constraints and reinvesting remaining cash. Ronn (1987) [17] further developed this model by integrating bid and ask prices to reflect the investor’s yield curve.
In addressing the complexities of cash flows, interest rates, and obligations, Bradley and Crane (1972) [6] introduced a dynamic multi-period bond portfolio model utilizing a decomposition technique. Sequential decision theory and two-stage programming under uncertainty were employed by Shapiro (1988) [5]. Shapiro’s model incorporated multiple scenarios to address uncertainties in fixed-income portfolio selection.
Korn and Koziol (2006) [18] expanded on the bond portfolio optimization problem, further exploring stochastic programming approaches. Stoyan and Kwon (2011) [19] applied a stochastic-goal mixed-integer programming method to integrate stock and bond portfolios. He and Qu (2014) [20] proposed a two-stage mixed-integer programming model that addressed trading constraints and market uncertainty.
Recent contributions to the field include Maggioni et al. (2020) [21], that provided three mathematical formulations for multi-horizon stochastic programs, and Alreshidi et al. (2020) [14], that introduced new mixed-integer stochastic programming models for bond portfolio optimization in the Saudi bond market. Alkailany et al. (2022) [15] applied the two-stage stochastic programming model developed by Alreshidid et al. (2020) [14] to the U.S. bond market with discrete random variables. A recent comprehensive survey by Salo et al. (2024) [22] highlights both the enduring relevance and the contemporary advances of portfolio optimization, providing context for our contribution to the bond portfolio setting.
Stochastic programming, also known as optimization under uncertainty, is a crucial branch of optimization that addresses problems involving uncertain parameters. In such scenarios, some of the input parameters in the objective function or constraints are random variables, which significantly complicate the decision-making process (see, e.g., Prékopa, 1995 [11]). To manage this uncertainty, two primary approaches are typically employed: analyzing the statistical characteristics of the random parameters or reformulating the problem to account for the joint probability distribution of these parameters. The resulting numerical problem is often complex and requires sophisticated mathematical programming techniques to solve (Prékopa 1995 [11]).
Stochastic programming represents a prominent approach among uncertainty modeling techniques in optimization, offering broad adoptibility and implementation potential across scientific and engineering domains. The integration of probability theory, optimization, statistics, and functional analysis forms the mathematical foundation of stochastic programming methodology. Contemporary computational capabilities and algorithmic developments have facilitated the field’s evolution, enabling increasingly sophisticated modeling frameworks and solution methodologies, as demonstrated through extensive research (Zhang et al., 2023 [23]; Herion and Römisch 2022 [24]; Chan et al. 2025 [25]).
The evolution of stochastic programming in finance traces back to Markowitz’s (1952) [4] seminal work on portfolio selection, which laid the groundwork for optimization under uncertainty. Dantzig and Infanger (1993) [26] extended these concepts to multi-stage stochastic programs for portfolio management. A stochastic network programming approach for financial planning problems was presented by Mulvey and Vladimirou (1992) [27]. Some other applications include fixed-income securities management and asset-liability modeling by Zenios (1995) [28], management of real-world investment portfolios by Carino et al. (1998) [29], optimal portfolio selection by Dentcheva and Ruszczynski (2006) [30], portfolio management by Gülpınar et al. (2016) [31], and methods for incorporating risk-averse approach by Shapiro and Ugurlu (2016) [32]. Following the 2008 financial crisis, Jobst et al. (2009) [33] developed integrated liquidity and market risk models using multi-stage stochastic programming, and Fábán et al. (2011) [34] introduced risk-averse portfolio optimization approaches. Recently, Bertsimas and Kallus (2020) [35] incorporated machine learning techniques within stochastic programming frameworks to enhance predictive accuracy in portfolio optimization.
Hodges and Schaefer (1977) [16] presented a deterministic optimization model to improve the bond portfolio selection performance efficiently. The model minimizes the cost and initial investment of a bond portfolio while constraints are satisfied at each period with the same cash flow pattern, assuming any remaining cash is used for reinvestment in the current period. Later, Ronn (1987) [17] developed a model of bond portfolio based on Hodges and Schaefer’s (1977) [16] findings, introducing the bid and ask price of bond into the model. The proposed model may display an investors yield curve. Bradley et al. (1972) [6] introduced a dynamic model for multi-period bond portfolio optimization and proposed a decomposition technique to address the model’s computational complexity. They explored two major approaches, sequential decision theory and two-stage stochastic programming, to solve multi-asset, two-stage portfolio problems, explicitly incorporating uncertainty in cash flows, interest rates, and financial obligations. As they noted, normative models for such decision problems tend to become significantly large, particularly when the model’s dynamic structure and the stochastic nature of future interest rates and cash flows are fully incorporated. The second approach allows bond portfolio managers to minimize the cost of a bond portfolio taking into account various constraints on the bonds using the historical data (Shapiro 1988 [5]).
A stochastic programming model for fixed income portfolio optimization was developed by Shapiro (1988) [5] to treat model uncertainties. The idea is to cover most of the future expected cases by considering a different number of scenarios. The optimal solution strategy for selling, buying, and/or holding for the bond portfolio is calculated by the proposed model, where cash flows, interest rates, and/or liabilities may have uncertainties (Shapiro 1988 [5]). For more information on the bond portfolio optimization problem, the reader is referred to Korn and Koziol (2006) [18], Alreshidi et al. (2020) [14] and the references therein.
A Stochastic-Goal Mixed-Integer Programming approach for an integrated stock and bond portfolio problem was used by Stoyan and Kwon (2011) [19]. He and Qu (2014) [20] proposed a two-stage mixed-integer programming model for a portfolio selection issue that takes into account a wide range of actual trading constraints in addition to market random uncertainty over asset prices. Complementary to these approaches, Consigli et al. (2025) [36] developed asset-liability management models with sequential stochastic dominance, illustrating the growing focus on risk-aware extensions of stochastic programming. The reader is referred to a recent article by Maggioni et al. (2019) [21] in which three general mathematical formulations of a multi-horizon stochastic program are presented, and definitions of the classical Expected Value problem and Wait-and-See problem are expanded in a multi-horizon framework. Alreshidi et al. (2020) [14] proposed three new mixed-integer stochastic programming models for two-stage bond portfolio optimization and its application on the Saudi Sukuk (bond) market, where an investor may optimize the cost of a bond portfolio under different scenarios. Alkailany et al. (2022) [15] presented a two-stage bond portfolio optimization model and its application in the U.S. market, assuming the random input parameters are independent, identically distributed discrete random variables. Related research has also applied multi-stage stochastic programming to corporate bond issuance, underscoring the growing importance of stochastic methods in fixed-income markets (Yang et al., 2022 [37]). Recent studies emphasize the role of adaptive two-stage stochastic models in large-scale planning contexts, such as capacity expansion (Basciftci et al., 2024 [38]).
In this research, we present a stochastic two-stage bond portfolio model as a modification of a model introduced by Alreshidi et al. (2020) [14]. Unlike the previous study, where the underlying distribution is discrete, we assume that the random variables associated with the interest rate and second-stage obligations follow a continuous distribution. As a result, the problem involves an infinite number of scenarios, making it more complex and realistic in modeling financial uncertainties.
While the model proposed by Alreshidi et al. (2020) [14] serves as a foundational reference, we propose a Monte Carlo Simulation framework, which can effectively handle the computational complexity and is particularly well suited for problems characterized by continuous uncertainty.
The proposed algorithmic framework offers several advantages over prior studies. It enhances the accuracy of scenario generation through continuous probability distributions, leading to more reliable decision-making outcomes. Additionally, the use of Monte Carlo simulation improves computational efficiency in handling high-dimensional uncertainty, making the model both theoretically significant and practically applicable in real-world financial decision-making, particularly in bond portfolio optimization.
The exact origin of using Monte Carlo simulation methods to solve stochastic programming problems is difficult to pinpoint. Rubinstein and Shapiro (1993) [39] covered the stochastic counterparts algorithm, laying foundational concepts for optimization using Monte Carlo methods. Similar ideas were employed by Geyer and Thompson (1992) [40] to compute maximum likelihood estimators through Gibbs sampling-based Monte Carlo approaches. Infanger (1992) [41] developed algorithms combining classical decomposition and Monte Carlo sampling to effectively solve large-scale stochastic linear programs.
It is worth noting that the term “sample average approximation (SAA)” is not uniformly used in the literature. Plambeck et al. (1996) [42] referred to it as “sample-path optimization.” This approach, also known as sample average approximation, is based on Monte Carlo concepts (Gurkan et al., 1994 [43]). Shapiro and Wardi (1996) [44] provided a framework ensuring the convergence of a Monte Carlo-based approximation method with a probability one. Later on, Shapiro and Homem-de-Mello (1998) [45] illustrated the methodology of using a Monte Carlo simulation-based approach on a two-stage stochastic program with recourse, discussing algorithmic details, fundamental principles, and providing several numerical examples. Moreover, the error estimation, stopping rules, and validation analysis were developed by incorporating statistical inference into numerical algorithms (Shapiro 1988 [5]).
Sampling-based approaches have been effectively applied in various stochastic optimization contexts. Notable applications include vehicle routing (Verweij et al., 2023 [46]), engineering design (Royset and Polak 2004 [47]), supply chain network design (Santoso et al., 2005 [48]), generation and transmission (Jirutitijaroen and Singh 2008 [49]), scheduling (Keller and Bayraksan 2009 [50]), and asset management (Hilli et al., 2007 [51]). The most recent survey on Monte Carlo sampling-based approaches for stochastic optimization is discussed by Homem-de-Mello and Bayraksan (2014) [52]. Their work provides a comprehensive overview, offering practical guidance for tackling stochastic optimization problems using sampling methods. Recent advances such as adaptive sequential SAA methods (Pasupathy and Song 2021 [53]) demonstrate how iterative control of sample sizes can improve efficiency. Extensions of the SAA approach have increasingly focused on integrating auxiliary information, such as covariates, to improve sample efficiency (Kannan et al. 2025 [54]), highlighting the ongoing evolution of adaptive sampling methods. Further, a recent work by Lew et al. (2022) [55] examined limitations of the SAA under equality constraints and non-convex problems, reinforcing the need for adaptive strategies.
In the following section, we provide the two mathematical models that will serve as basis for our Monte Carlo simulation approach.

3. Basic Mathematical Models for Bond Portfolio Optimization

3.1. Bond Portfolio Optimization Problem for Stochastic Programming with Recourse

Our modeling approach builds on the classical two-stage recourse stochastic programming framework (Shapiro 1988 [5]). In this framework, a set of first-stage (here-and-now) decisions is taken before the uncertainty is revealed. After the random outcomes are realized, second-stage (recourse) decisions are made to adjust the initial plan at an additional cost. Formally, the generic two-stage stochastic programming model can be written as
min x X c x + E ξ [ Q ( x , ξ ) ] ,
where x represents the first-stage decision vector, c is the associated cost, ξ is a random vector of uncertain parameters, and  Q ( x , ξ ) denotes the optimal value of the recourse problem given x and realization ξ . This structure provides a flexible foundation for modeling portfolio optimization problems under uncertainty.
In the context of bond portfolio optimization, Shapiro’s recourse stochastic programming model provides a foundation for addressing uncertainties. The model employs the following notations (Shapiro 1988 [5]):
  • B: number of bonds
  • T: number of time periods
  • y j : amount of bond j purchased for all j = 1 , , B
  • c j : cost of bond j for all j = 1 , , B
  • t * : last time period when all parameters are known with certainty
  • z t : cash surplus accumulated at the end of the period t for all t = 0 , , T
  • a j t : cash flows obtained from bond j at time t for j = 1 , , B and t = 0 , , T
  • K: number of scenarios of the uncertain future
  • ρ k t = 1 + i k t : re-investment rate under scenario k for period t, where i k t is the interest rate for all t = 0 , , T and k = 1 , , K
  • L k t : cash liability to be met in period t under scenario k for all t = 0 , , T and k = 1 , , K
  • p k : probability that scenario k will occur for all k = 1 , , K
  • D k t : additional cash required in period t under scenario k for all t = 0 , , T and k = 1 , , K
  • v k t : discount factor for cash flows in period t under scenario k for all t = 0 , , T and k = 1 , , K
Then, problem (5) minimizes the cost of bonds purchased in the first stage and the expected cost of bonds purchased in the second stage under various scenarios, while maximizing the expected gain from selling bonds that have not yet matured. The constraints of problem (5) ensure that obligations are met by cash flows from bonds and reinvested surplus (Shapiro 1988 [5]).
min j = 1 B c j y j + k = 1 K t = t * + 1 T p k v k t D k t + z 0 subject to j = 1 B a j t y j + ρ t z t 1 z t = L t , t = 1 , , t * j = 1 B a j t y j + ρ k t z t 1 z t + D k t = L k t , t = t * + 1 , , T , k = 1 , , K y j 0 , z t 0 , D k t 0 , k = 1 , , K , j = 1 , , N , t = 0 , , T

3.2. Two-Stage Mixed-Integer Stochastic Programming Models for Bond Portfolio Optimization

In this section, we consider an investor who aims to secure the required liabilities over a fixed time period through investments in bonds. The investor seeks to develop an optimal investment plan that ensures these liabilities are met through the returns generated from the bond portfolio. To achieve this, the investor needs to make strategic decisions regarding the selection and allocation of bonds, considering both immediate investment opportunities (first-stage) and future adjustments based on market uncertainties (second-stage). This problem naturally leads to the formulation of a two-stage bond portfolio optimization model, where the initial investment decisions are made before the uncertainty is realized, and recourse actions are taken in the second stage to adjust the portfolio in response to observed financial conditions.
Alreshidi et al. (2020) [14] formulated a new bond portfolio optimization model as a two-stage stochastic programming problem. The model’s objective is to maximize the expected gain from selling bonds under various scenarios, defined by interest rates in each period, while minimizing the cost of purchasing bonds in both stages. Alreshidi et al. (2020) [14] formulated the following two-stage bond portfolio optimization model:
minimize j N c j y j + k = 1 K j M p k P j k x j k k = 1 K j N N * t = t * + 1 T p k Q j k t s j k t + z 0 subject to j N N * g j t y j + ρ t z t 1 z t = L t , t = 1 , , t * j N N * g j ( t * + 1 ) y j j N N * g j ( t * + 1 ) s j k ( t * + 1 ) + ψ k ( t * + 1 ) j N N * Q j k ( t * + 1 ) s j k ( t * + 1 ) + j M f j k ( t * + 1 ) x j k + ψ k ( t * + 1 ) z t * h k ( t * + 1 ) = L k ( t * + 1 ) , k = 1 , , K j N N * g j t y j r = t * + 1 t j N N * g j t s j k r + ψ k t j N N * Q j k t s j k t + j M f j k t x j k + ψ k t h k ( t 1 ) h k t = L k t , t = t * + 2 , , T , k = 1 , , K t = t * + 1 T s j k t y j , j N N * , k = 1 , , K y j u j , j N x j k u j , j M , k = 1 , , K y j 0 , y j Z , j N x j k 0 , x j k Z , j M , k = 1 , , K s j k t 0 , s j k t Z , j N N * , t = t * + 1 , , T , k = 1 , , K z t 0 , t = 0 , , t * h k t 0 , t = t * + 1 , , T , k = 1 , , K
where the input parameters and decision variables are as defined in Table 1 and Table 2, respectively.
The objective function of problem (6) aims to minimize the cost of bonds purchased in the first-stage, j N c j y j , where c j is the buying price of the bond j in Stage 1.
Similarly, it seeks to reduce the expected cost of bonds purchased in the second-stage under scenario k, j M p k P j k x j k , where P j k is the buying price of bond j purchased under scenario k as defined before, and  p k is the probability that scenario k will occur. Additionally, it aims to maximize the expected gain from selling bonds not yet matured in Stage 2, j N N * t = t * + 1 T p k Q j k t s j k t , where Q j k t is the selling price of bond j under scenario k at time t, and  p k is the probability that scenario k will occur.
Overall, the objective is to minimize the initial investment, z 0 , by balancing the costs of bond purchases in both stages and maximizing the expected returns from bond sales under various scenarios.
Note that the first set of equality constraints in problem (6) ensures that for each period t = 1 , , t * , the obligation requirements are met by the cash flow from bonds j (which have not yet matured) purchased in Stage 1, combined with the surplus from the previous period reinvested in the current period. These constraints are referred to as the liability constraints for Stage 1.
The second set of equality constraints represents the liability constraint at the transition stage t * + 1 , moving from Stage 1 to Stage 2, where t * is the last time period in which all parameters are known with certainty under scenario k = 1 , , K . For this period, the liability requirement will be met by holding or selling the bonds owned or buying new bonds only in the first period of the second stage. Note that the first term is the total cash flow obtained from bonds purchased in Stage 1 that have not yet reached maturity. The second term represents the cash flow for bonds sold in the first period in Stage 2. The third and fourth terms are the interest and cash from the sales of the bonds in Stage 2 and cash flow from the bonds purchased in Stage 2. Note also that the cash flow for the transition period uses the cash surplus z t * , which is accumulated at the end of the final period of Stage 1 and may be used for the purchase of new bonds in the first period of Stage 2 under any scenario k.
The third set of equality constraints is similar to the transition stage constraints. It represents the remaining periods, t = t * + 2 , T . The main difference is the calculation of cash surplus that will be used to purchase new bonds in the current period of Stage 2, in this case, will be the cash accumulated at the end of the previous period of Stage 2.
The fourth set of constraints ensures that the amount of bond j purchased in Stage 1 is greater than the total amount of bond j for any j N N * (that has not yet reached the maturity) to be sold in Stage 2 under any scenario k at the beginning of the period t = t * + 1 , , T . The integrality constraints in problem (6) have been added for the amount of bonds that may be purchased or sold within the planning horizon in addition to the liability constraints. We set an upper bound for the amount of bond j that can be purchased in Stage 1 or Stage 2.
A thorough examination of problem (6) proposed by Alreshidi et al. (2020) [14] leads to the observation that the amount of funds resulting from selling bonds in Stage 2 is subtracted from the objective function (cost of bond portfolio); on the other hand, those funds are used to meet liabilities constraints. Therefore, to respect accounting laws, we propose to modify problem (6) by replacing the second and third set of liability constraints with the following constraints, where reinvestment rates, ψ k t , are replaced with interest rates, r k t , under scenario k and for periods t = t * + 1 , , T in Stage 2:
j N N * g j ( t * + 1 ) y j j N N * g j ( t * + 1 ) s j k ( t * + 1 ) + r k ( t * + 1 ) j N N * Q j k ( t * + 1 ) s j k ( t * + 1 ) + j M f j k ( t * + 1 ) x j k + ψ k ( t * + 1 ) z t * h k ( t * + 1 ) = L k ( t * + 1 ) , k = 1 , , K
j N N * g j t y j r = t * + 1 t 1 j N N * g j t s j k r + r k t j N N * Q j k t s j k t + j M f j k t x j k + ψ k t h k ( t 1 ) h k t = L k t , t = t * + 2 , , T
This results in the following two-stage bond portfolio optimization model:
minimize j N c j y j + k = 1 K j M p k P j k x j k k = 1 K j N N * t = t * + 1 T p k Q j k t s j k t + z 0 subject to j N N * g j t y j + ρ t z t 1 z t = L t , t = 1 , , t * j N N * g j ( t * + 1 ) y j j N N * g j ( t * + 1 ) s j k ( t * + 1 ) + r k ( t * + 1 ) j N N * Q j k ( t * + 1 ) s j k ( t * + 1 ) + j M f j k ( t * + 1 ) x j k + ψ k ( t * + 1 ) z t * h k ( t * + 1 ) = L k ( t * + 1 ) , k = 1 , , K j N N * g j t y j r = t * + 1 t j N N * g j t s j k r + r k t j N N * Q j k t s j k t + j M f j k t x j k + ψ k t h k ( t 1 ) h k t = L k t , t = t * + 2 , , T , k = 1 , , K r = t * + 1 T s j k t y j , j N N * k = 1 , , K y j u j , j N x j k u j , j M , k = 1 , , K y j 0 , y j Z , j N x j k 0 , x j k Z , j M , k = 1 , , K s j k t 0 , s j k t Z , j N N * , t = t * + 1 , , T , k = 1 , , K z t 0 , t = 0 , , t * h k t 0 , t = t * + 1 , , T , k = 1 , , K
where input parameters and decision variables are as defined in Table 1 and Table 2, respectively.

4. A Monte Carlo Simulation Approach to Solve Problem (9)

The Monte Carlo simulation method is a powerful tool for solving stochastic programming problems. This method involves using random sampling to approximate mathematical functions and simulate the behavior of complex systems. Its flexibility and robustness make it particularly well suited for optimization problems that involve uncertain or random elements. The basic idea of Monte Carlo simulation in the context of stochastic optimization is to generate a large number of random samples from the input distribution, evaluate the objective function for each sample, and use these estimates to guide the search for the optimal solution. This approach is especially useful when the expectation function in a stochastic programming model cannot be calculated accurately or efficiently.
We propose a Monte Carlo simulation-based approach to solve problem (9). Our method is motivated by Algorithm 1 developed by Homem-de-Mello and Bayraksan (2014) [52] that employs sampling methods in stochastic optimization as outlined below:
Algorithm 1 Sample Average Approximation Framework (Homem-de-Mello and Bayraksan 2014 [52])
  •   Initialization: Choose an initial guess x 0 , and set iteration counter k = 1 .
  •   Sampling: Obtain a realization { ξ ^ k , 1 , ξ ^ k , 2 , , ξ ^ k , N k } of ξ 1 , ξ 2 , , ξ N k .
  •   Optimization: Perform optimization steps on the function
    g ^ N k ( x , { ξ ^ k , 1 , ξ ^ k , 2 , , ξ ^ k , N k } )
      possibly using information from previous iterations to obtain x k .
  •   Convergence: Check the stopping criteria; if not satisfied, then set k : = k + 1 and return to Step 2.
Algorithm 1 can be viewed as a general framework that allows for numerous variations of the sample average approximation (SAA) approach (Homem-de-Mello and Bayraksan 2014 [52]). To develop a variety of SAA algorithms, several key questions must be addressed, including determining the sample size for each iteration, generation of realizations from previous iterations, selection of a method for the solution of the underlying optimization problem, and determining the stopping criteria. To approximate the expectation in the stochastic objective function, we apply the SAA technique. From an information-theoretic perspective, each scenario sampled represents a discrete state of nature that contributes to the overall uncertainty in the model. By generating a sufficiently large and diverse set of scenarios, we aim to approximate the true probability distribution of market behaviors.
To solve problem (9), we propose to modify Algorithm 1 as described in Algorithm 2:
Algorithm 2 Modified Sample Average Approximation Framework to Solve Two Stage Problems
  • Initialization: Set k = 1 , N k = N ¯ , and  R = R ¯ , where N ¯ and R ¯ are initial values of sample size and number of realizations, respectively.
  • Sampling: Generate R different realizations, each with k different samples
    { ξ 1 1 , ξ 2 1 , , ξ N k 1 } , { ξ 1 2 , ξ 2 2 , , ξ N k 2 } , , { ξ 1 R , ξ 2 R , , ξ N k R }
  • Optimization: Compute f ^ N k 1 , , f ^ N k R and solve the underlying integer linear program using deterministic optimization techniques.
  • Estimation: Compute the average optimal cost and its variance:
    f ¯ k = 1 R r = 1 R f ^ N k r
    σ f k 2 = 1 R 1 r = 1 R ( f ^ N k r f ¯ N k )
  • First Convergence Check: If H 0 : f ¯ k = f ¯ k 1 is accepted, then go to Step 6. Otherwise, go to Step 7.
  • Second Convergence Check: If H 0 : σ 2 f k = σ f k 1 2 is accepted, then go to Step 8. Otherwise, go to Step 7.
  • Looping: Set k = k + 1 , N k = c k , where c is the number of increments for each iteration, and return to Step 2.
  • Upper and Lower Bounds: Compute an upper bound (UB) and a lower bound (LB) for each candidate solution, and select the best solution based on the smallest optimality gap between UB and LB.
The main idea behind determining the sample size is to choose the minimum number of samples that provide a highly accurate approximation. Although larger sample sizes yield better approximations, they also increase computational costs. Our proposed methodology computes the sample size N k at each iteration as N k = c k for each k > 0 , where N 0 and c are constants (input parameters). More details about the sample size and an investigation of the rate of convergence can be found in Homem-de-Mello and Bayraksan (2014) [52].
For Algorithm 2, we propose to generate a new set of realizations { ξ 1 , ξ 2 , , ξ N k } at each iteration instead of extending the realizations from the previous iteration.
As for the stopping criteria, we propose two methods, one related to the average cost and the other to the standard deviation of the cost.
For the first criterion, Algorithm 2 stops based on the result of the following statistical test:
H 0 : f ¯ k = f ¯ k 1 , H a : f ¯ k < f ¯ k 1
For the second criterion, related to the standard deviation of the cost, Algorithm 2 uses the following statistical test:
H 0 : σ 2 f k = σ 2 f k 1 , H a : σ 2 f k < σ 2 f k 1
Algorithm 2 continues iterating until both null hypotheses are accepted, indicating that further iterations are unlikely to result in significant improvements.
To select the best solution among R candidate solutions delivered in the last iteration of the proposed algorithm, we assess an upper bound and a lower bound for each candidate solution and consider the solution with the smallest optimality gap. For the selection of optimal solutions, we adopt a framework similar to the one used by Alnaggar et al. (2020) [56] for solving a two-stage transportation problem.
Let ( y r , z r ) denote the vector solution of the first-stage problem for the r th candidate solution and η r denote its objective function value. To determine a lower bound of the objective function value, we start by computing the average η ¯ and the variance σ N , R 2 of the objective function values η 1 , , η R .
η ¯ = 1 R r = 1 R η r
σ N , R 2 = 1 ( R 1 ) r = 1 R ( η r η ¯ ) 2 .
Then the lower bound can be obtained as:
L B = η ¯ Z α 1 R σ N , R
where Z α is the α critical value of the standard normal distribution, given that R 30 .
The upper bound of the true objective function for each potential solution is determined by examining the solution using a large scenario tree of size N , assumed to accurately represent the actual cost distribution. Since each scenario k { 1 , 2 , , N } is an independent, identically distributed (i.i.d.) random sample, the task of assessing a candidate solution breaks down into N sub-problems. The size of the scenario tree N significantly exceeds the size of the scenario tree handled in the last iteration of Algorithm 2, N K , where K is the index of the last iteration of the algorithm.
We represent the objective function value, φ i ( y r , z r , i ) , of a specific sub-problem i as:
φ ( y r , z r , i ) = j M P j i x j i + j N N * t = t * + 1 T p k Q j i t s j i t for all i { 1 , 2 , , N } .
It is important to highlight that, since each subproblem is addressed independently, a large value for N does not impose a substantial computational load.
The estimation of the objective function value of the second-stage problem, denoted as φ ( y r , z r ) , is calculated by:
φ ( y r , z r ) = 1 ( N ) i = 1 N φ i ( y r , z r , i ) for all i { 1 , 2 , , N } .
The value of the objective function η ¯ r and its variance σ N 2 ( y r , z r ) for candidate solution ( y r , z r ) are computed as follows:
η ¯ r = j N c j y j r + φ ( y r , z r ) + Z 0 r
σ N 2 ( y r , z r ) = 1 ( N 1 ) i = 1 [ ( φ i ( y r , z r , i ) ) φ ( y r , z r ) ] 2 .
Finally, the upper bound, U B r , of a candidate solution can be computed as:
U B r = η ¯ r + 1 ( N ) Z α σ N ( y r , z r )
where Z α is the α critical value of the standard normal distribution. The upper bound, U B , delivered by Algorithm 2 is the smallest value, U B r for all r { 1 , 2 , , R } , as defined in Equation (18). The solution that results in the smallest optimality gap, ( U B r L B ) for all candidate solutions, r { 1 , 2 , , R } , is the final solution, ( y * , z * ), of the SAA, which corresponds to the solution with the smallest upper bound U B r , is as shown in Equation (19).
U B = min r 1 , , R ( U B r )
( y * , z * ) = argmin r 1 , , R ( U B r )

5. Case Study: Monte Carlo Simulation for Two-Stage Bond Portfolio Optimization in the Saudi Sukuk Market

In this section, we apply Algorithm 2 to solve problem (9) using data from the Saudi Sukuk (bond) market. This case study demonstrates the practical implementation and effectiveness of the proposed methodology in a real-world financial context.
The data for this case study are sourced from the Saudi Stock Exchange (Tadawul) Annual Report of 2011, which provides detailed information on various tradable Sukuk and bonds (Afshar 2013 [57]; Alswaidan 2013 [58]; Alreshidi et al., 2020 [14]).
We select nine bonds for analysis, including SABIC 1, SABIC 2, SABIC 3, SIPCHEM, Saudi Electricity 1, Saudi Electricity 2, Saudi Electricity 3, SATORP, and Saudi Hollandi Bank 2. Key input parameters are summarized below (see Alreshidi et al., 2020 [14] for more details):
Issue size ranges from Saudi Riyal (SAR) 725 million for Saudi Hollandi Bank 2 to SAR 8000 million for SABIC 2, with a total of SAR 41,274 million.
Par value varies between SAR 10 thousand for SABIC 2, SABIC 3, SE 3 and SAR 500,000 for Saudi Electricity 1.
Maturity date varies, earliest with 6 July 2016 for SIPCHEM and latest 10 May 2030 for Saudi Electricity 3.
Coupon rates spread between SIBOR for Saudi Hollandi Bank 2 and SIBOR + 1.75% for SIPCHEM.
There is a total of 49 transactions, ranging from 2 for SABIC 1 and SABIC 3 to 14 for Saudi Electricity 2, while SATORP reported no transactions.
Value traded ranges from SAR 1097.4 thousand for SABIC 3 to about SAR 1.5 billion for Saudi Electricity 3, with a total of over SAR 1.8 billion.
Nominal value traded ranges from SAR 1.1 million for SABIC 3 to SAR 1.45 milion for Saudi Electricity 3, with a total of over SAR 1.8 billion.
Stage 1 interest rates at time periods t are 0.0148, 0.0317, 0.0112, 0.0112 for t = 1 , 2 , 3 , 4 , respectively.
The following assumptions are made for the bond portfolio optimization model and calculations of the input parameters are as presented by Alreshidi et al. (2020) [14]:
The total planning horizon is T = 10 years, where the first stage covers t * = 4 years, while the second stage covers the remaining 6 years. We start with K = 50 scenarios at each realization and increment by 30 at each iteration until the stopping criteria are met.
The interest rate, i t at time t, in both stages is calculated as S I B O R + A % , where SIBOR, the Saudi Interbank Offered Rate, is the benchmark interest rate used by banks in Saudi Arabia for lending to each other and is published daily by the Saudi Arabian Monetary Authority (SAMA), and A is a random variable generated uniformly in the range [ 2 % , 2 % ] .
SABIC 1, SABIC 2, SABIC 3, SIPCHEM are considered to be Stage 1 bonds, and Saudi Electricity 1, Saudi Electricity 2, Saudi Electricity 3, SATORP, and Saudi Hollandi Bank 2 are considered to be Stage 2 bonds.
The cost, c j , of a bond j in Stage 1 and Stage 2 is considered the same as the par value in the Saudi data. Costs for SABIC 1, SABIC 2, SABIC 3, and SIPCHEM bonds are SAR 50,000, SAR 10,000, SAR 10,000, and SAR 100,000, respectively. Costs for Saudi Electricity 1, Saudi Electricity 2, Saudi Electricity 3, SATORP, and Saudi Hollandi Bank 2 bonds are SAR 500,000, SAR 100,000, SAR 10,000, SAR 100,000, and SAR 100,000, respectively.
The buying price, P j k , of a bond j M under scenario k = 1 , , K in the second-stage is calculated as P j k = ν k c j , where c j represents the purchase price of bond j M , which corresponds to its nominal buying price. Additionally, ν k serves as an impact factor for each scenario k, where k = 1 , , K , in Stage 2.
The selling price, Q j k t , of a bond j N N * in Stage 2 under scenario k = 1 , , K for period t = t * + 1 , , T is obtained as follows:
Q j k t = c j r = 1 t * ρ r r = t * + 1 t 1 ψ k r , j N P j k r = t * + 1 t 1 ψ k r , j M
where all parameters are as defined in Table 1.
The cash flow, g j t , for bond j N in period t = 1 , , t * in Stage 1 is calculated as below:
g j t = c j I j t = 1 , , M j 1 c j ( 1 + I j ) t = M j 0 t > M j
where c j denotes the purchase price of bond j N in Stage 1, I j represents the coupon rate, and M j signify the maturity date of any bond j N M . The cash flows for Stage 1 bonds, calculated using Equation (21), indicate that SABIC 1, SABIC 2, SABIC 3, and SIPCHEM generate annual amounts of SAR 1575, SAR 313, SAR 323, and SAR 4500, respectively, which remain constant over the four-year horizon.
The cash flows, f j k t , for each bond j M in Stage 2 under scenario k = 1 , , K are calculated using the equation below:
f j k t = P j k I j t = t * + 1 , , M j 1 P j k ( 1 + I j ) t = M j 0 t > M j
where P j k represent the purchase price of bond j acquired in Stage 2 under scenario k and I j and M j represent the coupon rate and the maturity date of bond j in Stage 2, respectively.
Stage 1 liabilities, L t , t = 1 , , t * , are a percentage (randomly chosen in the interval [2%, 5%]) of the total cash flows from available bonds at the beginning of Stage 1, where L 2 = 1,009,895, L 3 = 2,275,167, L 4 = 3,064,511, and L 5 = 4,086,015.
Stage 2 liabilities, L k t , k = 1 , , K , t = t * + 1 , , T , are randomly chosen in the interval [0.9B, 1.1B] for the second stage, where B is a percentage (randomly chosen in the interval [0.2%, 2%] of the total cash flows from available bonds at the beginning of the second stage.
After solving the two-stage bond-portfolio optimization problem (9) using the Monte Carlo simulation-based approach described in Algortihm 2, we obtain the optimal costs for the Saudi Sukuk (bond) data. This is achieved by implementing the algorithm in C++ with CPLEX. The optimal costs of the two-stage bond-portfolio optimization problems for all realizations and different iterations of the algorithm are presented in Table 3, Table 4 and Table 5.
Table 6 presents the average cost and variance across different iterations. For each iteration, R = 30 realizations were considered, and the average cost and variance were computed based on these 30 realizations.
Figure 1 illustrates the average cost for different sample sizes (number of scenarios) K = 50 to K = 860 . We observe that, as the sample size (number of scenarios) increases, the average costs stabilize, with the values converging closer to each other. Additionally, Figure 2 shows the variance of the average cost, revealing that variance decreases as the sample size (number of scenarios) increases.
At each iteration, the statistical tests for both hypotheses were conducted based on the computed sample averages and variance estimates obtained through Algorithm 2. Table 6 presents the average cost (in Saudi Riyal SAR) and variance for different sample sizes (number of scenarios) ranging from K = 50 to K = 860 scenarios for problem (9).
Based on the results obtained for problem (9) shown in Table 7, we observe that as the number of scenarios, K, increases, the average cost initially fluctuates, with noticeable differences in earlier iterations. This variation suggests that the optimization process is still adjusting to increase sample sizes. However, as the number of scenarios, K, continues to grow, the differences in mean and variance become statistically insignificant since p > 0.05 , especially after K = 860 scenarios. The F-statistic confirms variance stabilization, indicating that cost fluctuations across realizations have reached a consistent state. At K = 860 the stopping criterion is met, as both the T-statistic and F-statistic show that further increases in the number of scenarios, K, will not yield statistically significant improvements in cost reduction or stability. Hence, additional iterations would not be computationally efficient, and therefore, K * = 860 , is the optimal stopping sample size.
To investigate the optimal cost, we focus on the optimal sample size, K * = 860 , representing the optimal number of scenarios. To select the best solution among the 30 realizations, we calculate the lower bound, L B , in Equation (12) and the upper bound, U B , in Equation (18) to identify the smallest optimality gap, as described in Section 4. Table 8 indicates that the smallest gap among the 30 realizations is 1.1438, with the optimality range between [SAR 22,652,406 and SAR 22,914,500], where SAR is Saudi Riyal.
Based on the chosen solution, we determine the bonds to be purchased in Stage 1. Specifically, 3979 units of SIPCHEM and 478 units of SABIC 3 are purchased in period 1 of Stage 1, as shown in Table 9.
Table 10 presents the optimal investment plan for Stage 1, based on the modified Model. The total optimal cost of the investment plan, according to the modified Model 1 is SAR 22,637,904.
Table 11 illustrates the computational efficiency of Algorithm 2 based on varying sample sizes (number of scenarios). All computational experiments were carried out on a desktop with Intel(R) Core (TM) i74930K CPU 3.4 GHz processor with 16 GB of memory under a Windows environment. As expected, the computation time increases as the number of scenarios increases. We observe that the computational cost has increased by 50 times when the sample size increases from 1000 scenarios to 2000 scenarios, whereas it significantly decreases for 5000 scenarios. We remark that optimization solvers dynamically adjust their internal methods based on the input data. The decrease in computational cost for the problem with 2000 scenarios to the problem with 5000 scenarios may be a result of more efficient numerical methods or multithreading optimization that are triggered at K = 5000 scenarios but were not activated at K = 2000 scenarios.
In summary, the results of applying Algorithm 2 along with the proposed stopping criteria to the Saudi Sukuk (bond) data demonstrate the proposed method’s effectiveness and computational efficiency in solving large-scale stochastic optimization problems. The proposed algorithm, Algorithm 2, showcases remarkable computational efficiency.

6. Conclusions

This paper presents a Monte Carlo simulation-based approach for solving two-stage stochastic programming problems, specifically applied to bond portfolio optimization. By leveraging random sampling techniques, the proposed method effectively transforms the stochastic problem into a deterministic one, enabling the use of standard optimization techniques. The application of this approach to the Saudi Sukuk (bond) market provides valuable insights and demonstrates the practicality and robustness of the methodology.
The key contributions of this research are many-fold: (1) The integration of Monte Carlo simulation with two-stage stochastic programming offers a novel and efficient way to address uncertainty in bond portfolio optimization. This approach allows for accurate approximation of expectation functions and effective scenario management. (2) The robustness of the approach in dealing with market uncertainties ensures that optimized portfolios remain resilient across different scenarios. (3) The proposed algorithm showcases remarkable computational efficiency and manages to handle large scenario trees and deliver solutions in a reasonable time frame. This efficiency is vital for practical applications, where timely decision-making is crucial. (4) The optimization results indicate substantial cost reductions and effective liability management. Algorithm 2 consistently identifies optimal bond portfolios across various realizations and iterations. By employing the Monte Carlo simulation approach, Algorithm 2 converts the stochastic problem into a deterministic one, making it feasible to solve with standard optimization techniques. (5) One of the significant strengths of the Monte Carlo simulation approach is its ability to handle market uncertainties. The scenario analysis reveals that Algorithm 2 can effectively optimize bond portfolios under varying interest rates and liability conditions. The robustness of the proposed method ensures that the optimized portfolios remain resilient against different market scenarios, thereby minimizing risks and maximizing returns. (6) To ensure the reliability of the results, statistical tests are employed to validate the convergence of the algorithm. The use of sample average approximation (SAA) allows for accurate approximation of the expectation function. The convergence criteria, based on statistical significance tests for average costs and variances, confirm the stability and precision of the solutions. The upper and lower bounds computed for each candidate solution further are validated by the optimality of the results. (7) The practical application of this methodology to the Saudi Sukuk (bond) market demonstrates its real-world relevance. The case study highlights the adaptability of the Monte Carlo simulation approach to different financial instruments and market conditions. The results provide valuable insights for investors and portfolio managers, enabling them to make informed decisions that optimize bond portfolios while effectively managing risks. (8) Incorporating uncertainties such as fluctuating interest rates and liabilities in bond portfolio optimization, the proposed approach allows for better risk management and more resilient investment strategies. The methodology can be applied to other financial markets and instruments, making it a versatile tool for global investment strategies.

Author Contributions

M.M.S. and M.M. designed and supervised the entire project as senior co-authors. H.A. contributed to the development of the proposed methodology and performed the computational analyses. The first author and senior authors were directly involved in manuscript writing. A.G. participated in review of the manuscript and overall presentation of the findings. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Saudi Sukuk data presented in this study can be obtained from https://www.tadawulgroup.sa/wps/portal/ accessed on 23 October 2025.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Ardakani, O. Portfolio optimization with transfer entropy constraints. Int. Rev. Financ. Anal. 2024, 96, 103644. [Google Scholar] [CrossRef]
  2. Yan, X.; Yang, H.; Yu, Z.; Zhang, S.; Zheng, X. Portfolio optimization: A return-on-equity network analysis. IEEE Trans. Comput. Soc. Syst. 2023, 11, 1644–1653. [Google Scholar] [CrossRef]
  3. Novais, R.; Wanke, P.; Antunes, J.; Tan, Y. Portfolio optimization with a mean-entropy-mutual information model. Entropy 2022, 24, 369. [Google Scholar] [CrossRef] [PubMed]
  4. Markowitz, H. Portfolio Selection. J. Financ. 1952, 7, 77–91. [Google Scholar]
  5. Shapiro, J.F. Stochastic programming models for dedicated portfolio selection. In Mathematical Models for Decision Support; Springer: Berlin/Heidelberg, Germany, 1988; pp. 587–611. [Google Scholar]
  6. Bradley, S.P.; Crane, D.B. A dynamic model for bond portfolio management. Manag. Sci. 1972, 19, 139–151. [Google Scholar] [CrossRef]
  7. Hu, Y.; Chen, X.; He, N. Sample Complexity of Sample Average Approximation for Conditional Stochastic Optimization. SIAM J. Optim. 2020, 30, 2103–2133. [Google Scholar] [CrossRef]
  8. Jiang, J.; Li, S. On complexity of multistage stochastic programs under heavy tailed distributions. Oper. Res. Lett. 2021, 49, 265–269. [Google Scholar] [CrossRef]
  9. Bertsimas, D.; Gupta, V.; Kallus, N. Robust Sample Average Approximation. Math. Program. 2018, 171, 217–282. [Google Scholar] [CrossRef]
  10. Mercurio, P.J.; Wu, Y.; Xie, H. An Entropy-Based Approach to Portfolio Optimization. Entropy 2020, 22, 332. [Google Scholar] [CrossRef]
  11. Prékopa, A. Stochastic Programming; Kluwer Academic Publishers: Boston, MA, USA, 1995. [Google Scholar]
  12. Shapiro, A. Monte Carlo simulation approach to stochastic programming. In Proceedings of the 2001 Winter Simulation Conference (Cat. No. 01CH37304), Arlington, VA, USA, 9–12 December 2001; Volume 1, pp. 428–431. [Google Scholar]
  13. Brandimarte, P. Handbook in Monte Carlo Simulation: Applications in Financial Engineering, Risk Management, and Economics; Wiley Handbooks in Financial Engineering and Econometrics; Wiley: Hoboken, NJ, USA, 2014; pp. 448–452. [Google Scholar]
  14. Alreshidi, N.A.; Mrad, M.; Subasi, E.; Subasi, M.M. Two-stage bond portfolio optimization and its application to Saudi Sukuk Market. Ann. Oper. Res. 2020, 288, 1–43. [Google Scholar] [CrossRef]
  15. Alkailany, M.A.; Abdalrazzaq, M.S. A new bond portfolio optimization model as two-stage stochastic programming problems in US market. Int. J. Nonlinear Anal. Appl. 2022, 13, 1545–1563. [Google Scholar]
  16. Hodges, S.D.; Schaefer, S.M. A model for bond portfolio improvement. J. Financ. Quant. Anal. 1977, 12, 243–260. [Google Scholar] [CrossRef]
  17. Ronn, E.I. A new linear programming approach to bond portfolio management. J. Financ. Quant. Anal. 1987, 22, 439–466. [Google Scholar] [CrossRef]
  18. Korn, O.; Koziol, C. Bond portfolio optimization: A risk-return approach. J. Fixed Income 2006, 15, 48–60. [Google Scholar] [CrossRef]
  19. Stoyan, S.J.; Kwon, R.H. A stochastic-goal mixed-integer programming approach for integrated stock and bond portfolio optimization. Comput. Ind. Eng. 2011, 61, 1285–1295. [Google Scholar] [CrossRef]
  20. He, F.; Qu, R. A two-stage stochastic mixed-integer program modelling and hybrid solution approach to portfolio selection problems. Inf. Sci. 2014, 289, 190–205. [Google Scholar] [CrossRef]
  21. Maggioni, F.; Allevi, E.; Tomasgard, A. Bounds in multi-horizon stochastic programs. Ann. Oper. Res. 2020, 292, 605–625. [Google Scholar] [CrossRef]
  22. Salo, A.; Stoyan, S.; Wallace, S.; Zenios, S. Fifty Years of Portfolio Optimization: A Retrospective and Prospects. Eur. J. Oper. Res. 2024, 317, 329–351. [Google Scholar] [CrossRef]
  23. Zhang, W.; Wang, K.; Jacquillat, A.; Wang, S. Optimized scenario reduction: Solving large-scale stochastic programs with quality guarantees. INFORMS J. Comput. 2023, 35, 886–908. [Google Scholar] [CrossRef]
  24. Henrion, R.; Römisch, W. Problem-based optimal scenario generation and reduction in stochastic programming. Math. Program. 2022, 191, 183–205. [Google Scholar] [CrossRef]
  25. Chan, T.; Lin, B.; Saxe, S. Machine Learning–Augmented Optimization of Large Bilevel and Two-Stage Stochastic Programs: Application to Cycling Network Design. Manuf. Serv. Oper. Manag. 2025. forthcoming. [Google Scholar] [CrossRef]
  26. Dantzig, G.; Infanger, G. Multi-stage stochastic linear programs for portfolio optimization. Ann. Oper. Res. 1993, 45, 59–76. [Google Scholar] [CrossRef]
  27. Mulvey, J.; Vladimirou, H. Stochastic network programming for financial planning problems. Manag. Sci. 1992, 38, 1642–1664. [Google Scholar] [CrossRef]
  28. Zenios, S. Asset/liability management under uncertainty for fixed-income securities. Ann. Oper. Res. 1995, 59, 77–97. [Google Scholar] [CrossRef]
  29. Cariño, D.R.; Kent, T.; Myers, D.H.; Stacy, C.; Sylvanus, M.; Turner, A.L.; Watanabe, K.; Ziemba, W.T. The Russell-Yasuda Kasai model: An asset/liability model for a Japanese insurance company using multistage stochastic programming. Interfaces 1994, 24, 29–49. [Google Scholar] [CrossRef]
  30. Dentcheva, D.; Ruszczynski, A. Portfolio optimization with stochastic dominance constraints. J. Bank. Financ. 2006, 30, 433–451. [Google Scholar] [CrossRef]
  31. Gülpınar, N.; Rustem, B.; Settergren, R. Robust portfolio optimization under downside risk measures. Comput. Manag. Sci. 2016, 13, 49–74. [Google Scholar]
  32. Shapiro, A.; Ugurlu, K. Decomposability and time consistency of risk averse multistage programs. Oper. Res. Lett. 2016, 44, 663–765. [Google Scholar] [CrossRef]
  33. Jobst, N.; Mitra, G.; Zenios, S. Integrating market and credit risk: A simulation and optimisation perspective. J. Bank. Financ. 2009, 30, 717–742. [Google Scholar] [CrossRef]
  34. Fábián, C.; Mitra, G.; Roman, D. Processing second-order stochastic dominance models using cutting-plane representations. Math. Program. 2011, 130, 33–57. [Google Scholar] [CrossRef]
  35. Bertsimas, D.; Kallus, N. From predictive to prescriptive analytics. Manag. Sci. 2020, 66, 1025–1044. [Google Scholar] [CrossRef]
  36. Consigli, G.; Dentcheva, D.; Maggioni, F.; Micheli, A. Asset Liability Management under Sequential Stochastic Dominance Constraints. arXiv 2025, arXiv:2505.16486. Available online: https://arxiv.org/abs/2505.16486 (accessed on 23 October 2025). [CrossRef]
  37. Yang, R.; Yu, H.; Li, Z.; Zhao, X. A Multistage Stochastic Programming Model with Multiple Objectives for Optimal Issuance of Corporate Bonds. Discret. Dyn. Nat. Soc. 2022. [Google Scholar] [CrossRef]
  38. Basciftci, B.; Ahmed, S.; Duenyas, I.; Shen, Z. Adaptive Two-Stage Stochastic Programming with Applications to Capacity Expansion Planning. Manuf. Serv. Oper. Manag. 2024, 26, 45–63. [Google Scholar] [CrossRef]
  39. Rubinstein, R.Y.; Shapiro, A. Discrete Event Systems: Sensitivity Analysis and Stochastic Optimization by the Score Function Method; Wiley: Chichester, UK, 1993; Volume 13. [Google Scholar]
  40. Geyer, C.J.; Thompson, E.A. Constrained Monte Carlo maximum likelihood for dependent data. J. R. Stat. Soc. Ser. B (Methodol.) 1992, 54, 657–683. [Google Scholar] [CrossRef]
  41. Infanger, G. Planning Under Uncertainty Solving Large-Scale Stochastic Linear Programs; Technical Report; Systems Optimization Laboratory, Stanford University: Stanford, CA, USA, 1992. [Google Scholar]
  42. Plambeck, E.L.; Fu, B.R.; Robinson, S.M.; Suri, R. Sample-path optimization of convex stochastic performance functions. Math. Program. 1996, 75, 137–176. [Google Scholar] [CrossRef]
  43. Gurkan, G.; Ozge, A.Y.; Robinson, T. Sample-path optimization in simulation. In Proceedings of the Winter Simulation Conference, Lake Buena Vista, FL, USA, 11–14 December 1994; pp. 247–254. [Google Scholar] [CrossRef]
  44. Shapiro, A.; Wardi, Y. Convergence analysis of gradient descent stochastic algorithms. J. Optim. Theory Appl. 1996, 91, 439–454. [Google Scholar] [CrossRef]
  45. Shapiro, A.; Homem-de Mello, T. A simulation-based approach to two-stage stochastic programming with recourse. Math. Program. 1998, 81, 301–325. [Google Scholar] [CrossRef]
  46. Verweij, B.; Ahmed, S.; Kleywegt, A.J.; Nemhauser, G.; Shapiro, A. The sample average approximation method applied to stochastic routing problems: A computational study. Comput. Optim. Appl. 2003, 24, 289–333. [Google Scholar] [CrossRef]
  47. Royset, J.; Polak, E. Reliability-based optimal design using sample average approximations. Probabilistic Eng. Mech. 2004, 19, 331–343. [Google Scholar] [CrossRef]
  48. Santoso, T.; Ahmed, S.; Goetschalckx, M.; Shapiro, A. A stochastic programming approach for supply chain network design under uncertainty. Eur. J. Oper. Res. 2005, 167, 96–115. [Google Scholar] [CrossRef]
  49. Jirutitijaroen, P.; Singh, C. Reliability constrained multi-area adequacy planning using stochastic programming with sample-average approximations. IEEE Trans. Power Syst. 2008, 23, 504–513. [Google Scholar] [CrossRef]
  50. Keller, B.; Bayraksan, G. Scheduling jobs sharing multiple resources under uncertainty: A stochastic programming approach. IIE Trans. 2009, 42, 16–30. [Google Scholar] [CrossRef]
  51. Hilli, P.; Koivu, M.; Pennanen, T.; Ranne, A. A stochastic programming model for asset liability management of a Finnish pension company. Ann. Oper. Res. 2007, 152, 115–139. [Google Scholar] [CrossRef]
  52. Homem-de Mello, T.; Bayraksan, G. Monte Carlo sampling-based methods for stochastic optimization. Surv. Oper. Res. Manag. Sci. 2014, 19, 56–85. [Google Scholar] [CrossRef]
  53. Pasupathy, R.; Song, Y. Adaptive Sequential Sample Average Approximation for Two-Stage Stochastic Linear Programs. SIAM J. Optim. 2021, 31, 1017–1048. [Google Scholar] [CrossRef]
  54. Kannan, R.; Bayraksan, G.; Luedtke, J. Data-Driven Sample Average Approximation with Covariate Information. Oper. Res. 2025, forthcoming. [Google Scholar] [CrossRef]
  55. Lew, T.; Sahin, A.; Chen, X.; Harchaoui, Z. Sample Average Approximation for Stochastic Programs with Equality Constraints: Complexity and Algorithms. arXiv 2022, arXiv:2206.09963. [Google Scholar]
  56. Alnaggar, A.; Gzara, F.; Bookbinder, J.H. Distribution planning with random demand and recourse in a transshipment network. EURO J. Transp. Logist. 2020, 9, 100007. [Google Scholar] [CrossRef]
  57. Afshar, T.A. Compare and contrast Sukuk (Islamic Bonds) with conventional bonds, are they compatible? J. Glob. Bus. Manag. 2013, 9, 44. [Google Scholar]
  58. Alswaidan, M.W. Saudi Arabian Sukuk Market: Recent Trends and Development. Bus. Rev. Camb. 2013, 21, 108–117. [Google Scholar]
Figure 1. Behavior of the average optimal cost (in Saudi Riyal SAR) of model (6) for sample sizes (number of scenarios) K = 50 to K = 860 .
Figure 1. Behavior of the average optimal cost (in Saudi Riyal SAR) of model (6) for sample sizes (number of scenarios) K = 50 to K = 860 .
Entropy 27 01118 g001
Figure 2. Behavior of the variance of optimal costs (in Saudi Riyal SAR) of model (6) for sample sizes (number of scenarios) K = 50 to K = 860 .
Figure 2. Behavior of the variance of optimal costs (in Saudi Riyal SAR) of model (6) for sample sizes (number of scenarios) K = 50 to K = 860 .
Entropy 27 01118 g002
Table 1. Input data (parameters) for problems (6) and (9).
Table 1. Input data (parameters) for problems (6) and (9).
NSet of bonds purchased in Stage 1
MSet of bonds that can be purchased in Stage 2
TNumber of time periods
t * Last time period when all parameters are known with certainty
N * Set of bonds purchased in Stage 1, whose maturity is ≤ t * , and  N * N
KNumber of scenarios in Stage 2
c j Buying price of bond j where j N M
g j t Cash flow obtained from bond j in Stage 1 at time t, where
j N and t = 1 , , T
f j k t Cash flow obtained from bond j in Stage 2 under scenario k at time t,
where j M , k = 1 , , K , and  t = t * + 1 , , T
L t Liability to be met in period t, where t = 1 , , t *
L k t Liability to be met in period t under scenario k, where
t = t * + 1 , , T and k = 1 , , K
i t Interest rate in period t in Stage 1, where t = 1 , , t *
r k t Interest rate in period t in Stage 2 under scenario k, where
t = t * + 1 , , T and k = 1 , , K
ρ t Re-investment rate in period t in Stage 1, where t = 1 , , t * and
ρ t = 1 + i t for t = 1 , , t *
ψ k t Re-investment rate under scenario k in period t in Stage 2 defined by
ψ k t = 1 + r k t , where r k t is the interest rate for t = t * + 1 , , T and k = 1 , , K
P j k Buying price of bond j purchased under scenario k for j M and k = 1 , , K
Q j k t Selling price of bond j under scenario k in period t, where
j N N * , t = t * + 1 , , T , and  k = 1 , , K
p k Probability that scenario k will occur for k = 1 , , K
Table 2. Decision variables for problems (6) and (9).
Table 2. Decision variables for problems (6) and (9).
y j Number of units purchased from bond j for j N
z 0 Initial cash investment
z t Cash surplus accumulated at the end of the period t for t = 1 , , t *
h k t Cash surplus accumulated at the end
of the period t under scenario k, t = t * + 1 , , T , k = 1 , , K
x j k Amount of bond j purchased in Stage 2 under scenario k for j M
and k = 1 , , K
s j k t Amount of bond j sold in Stage 2 under scenario k which has not reached the
maturity where j N N * , k = 1 , , K and t = t * + 1 , , T
Table 3. Optimal cost (in Saudi Riyal SAR) of model (9) based on Algorithm 2 for K = 50 to K = 860 scenarios and R = 1 to R = 10 realizations.
Table 3. Optimal cost (in Saudi Riyal SAR) of model (9) based on Algorithm 2 for K = 50 to K = 860 scenarios and R = 1 to R = 10 realizations.
Sample Size12345678910
5022,265,50422,196,68422,069,28622,262,36422,068,18422,247,16222,140,01022,226,34422,262,27422,054,840
8022,720,72222,668,64222,654,79222,626,93622,674,96622,609,23222,670,38222,641,69622,568,94222,669,854
11023,138,85023,180,67623,118,00623,139,99223,144,20423,117,25423,157,62023,198,06623,043,91823,059,832
14023,008,83023,005,31423,028,24423,001,99023,098,34423,021,37822,947,11823,035,02223,108,21023,047,234
17022,937,08822,882,23422,829,97222,866,13222,785,98822,802,76022,899,40222,805,73422,760,04622,834,454
20022,979,68222,865,76822,963,86622,882,19222,969,26822,989,08622,986,11822,895,44022,914,03023,043,084
23022,922,57422,989,21422,991,87222,910,99822,957,74422,914,23622,972,38422,888,55222,866,89422,879,940
26022,908,24023,007,65822,973,37822,953,19023,001,67423,053,24622,998,94623,059,18022,918,84822,982,410
29022,634,19422,593,96222,619,66222,590,70822,613,90622,627,85222,558,36022,582,82422,617,49222,634,068
32022,660,90422,664,61222,718,86822,787,00622,673,51222,673,81822,695,04022,742,57422,722,56422,696,608
35022,601,52222,584,60822,609,33822,614,59422,589,64222,632,24022,605,74022,665,25622,641,67222,649,372
38022,657,65822,624,84422,629,33622,594,90022,646,90022,650,93222,658,05822,653,23222,654,85822,657,256
41022,740,19622,742,62222,730,77622,778,62222,726,89822,759,44622,752,09622,720,73422,760,49622,713,450
44022,569,32222,621,64822,603,77822,535,88422,644,06222,590,27822,621,28022,587,94222,612,95222,618,754
47022,591,81222,626,53822,566,26222,552,22222,626,83222,560,73022,583,49622,611,74622,570,58622,547,362
50022,676,31822,709,65822,686,07022,644,94622,667,30422,678,93622,689,30022,635,98422,696,70222,651,734
53022,528,93022,503,00622,524,05822,515,07422,524,54622,521,20622,485,20222,517,84822,511,47222,544,572
56022,700,22222,658,35622,718,13422,723,51022,703,15822,663,25422,657,61222,692,91022,700,34422,650,430
59022,649,72222,676,45222,681,33422,642,65022,663,33422,650,86422,611,07222,680,09622,646,85222,644,194
62022,478,81222,565,17022,558,22822,561,60422,550,71822,577,47622,552,45622,595,66222,589,68822,566,446
65022,547,56622,535,95622,549,03222,550,79022,560,92422,509,82622,540,02622,508,77422,517,57022,506,856
68022,611,40622,581,73822,553,90622,561,96822,583,04622,572,24622,555,56422,595,86422,592,71222,585,836
71022,742,40422,685,25222,719,71022,738,20622,746,07222,757,83822,729,03822,682,08422,725,24822,765,626
74022,694,53822,712,73622,724,89622,684,26422,703,85622,738,44422,715,30022,733,39822,685,98022,736,340
77022,684,79622,692,14622,682,39022,701,93022,673,55222,651,05222,668,38622,666,43822,661,61222,691,850
80022,592,51422,554,72822,577,35422,569,02622,633,54022,559,83022,591,68422,586,56022,559,03222,563,022
83022,695,62422,635,49022,675,19222,647,93622,652,75222,674,38022,659,16622,623,96222,673,83822,635,330
86022,660,69222,672,07422,664,99022,644,72822,642,86422,630,13822,636,83222,642,28022,651,04622,623,690
Table 4. Optimal cost (in Saudi Riyal SAR) of model (9) based on Algorithm 2 for K = 50 to K = 860 scenarios and R = 11 to R = 20 realizations.
Table 4. Optimal cost (in Saudi Riyal SAR) of model (9) based on Algorithm 2 for K = 50 to K = 860 scenarios and R = 11 to R = 20 realizations.
Sample Size11121314151617181920
5022,249,39222,192,80221,970,91622,047,14222,212,64822,184,69422,106,00222,099,10422,304,93222,052,730
8022,575,49222,647,94222,549,02822,533,15222,581,40422,595,86822,466,71022,660,10822,701,05822,702,358
11023,125,66823,153,76423,102,10023,041,61823,126,45823,153,41223,124,16423,118,94623,091,81823,140,872
14023,067,44222,967,50823,022,20623,044,09023,052,88423,100,22623,114,01223,074,33222,923,81023,128,412
17022,733,39222,819,43222,817,98022,862,87422,871,17022,848,17022,732,29622,834,96622,856,57622,906,492
20022,992,66622,915,62023,019,10822,922,65822,913,23822,977,67022,962,86622,933,22622,992,54222,964,562
23022,954,08622,904,75022,942,96622,934,22422,867,41622,883,29022,934,40822,895,39222,973,65622,924,338
26022,999,39622,935,13022,990,11823,061,40022,996,09022,914,97823,010,32822,958,19422,983,27622,993,130
29022,587,05222,511,01422,570,30622,627,14822,603,15022,613,32022,619,41022,615,69422,617,30422,634,472
32022,664,04822,695,69222,639,60022,707,52222,716,42022,753,30822,713,38222,669,38022,723,23022,734,278
35022,633,18822,611,58222,608,83222,654,54022,598,51022,602,92022,597,87622,602,52622,597,94622,635,430
38022,620,33622,675,61422,650,70222,621,40822,645,42422,625,12022,692,75222,659,20022,643,59022,675,280
41022,762,29022,774,24022,737,50422,713,46822,758,33422,739,17422,781,47422,753,20222,727,94022,754,310
44022,621,66622,619,30022,641,76222,590,01622,636,12622,617,23022,634,55422,597,86022,659,59022,601,596
47022,615,67622,596,63822,571,34822,580,07822,531,98022,573,88622,581,13422,570,44022,586,89822,584,838
50022,640,81022,617,50622,631,33822,694,76422,672,80222,711,94622,699,26222,664,78222,656,39222,707,886
53022,532,61222,523,77022,496,35222,527,72422,504,10222,550,58822,530,43822,521,80022,473,19222,530,806
56022,653,77022,689,97222,697,42222,716,86222,671,71622,705,67622,637,37022,682,95622,689,03022,692,382
59022,624,78822,647,33422,615,38222,666,10022,628,86222,627,64622,654,53622,665,72022,662,43422,654,534
62022,539,11822,561,54822,562,27222,569,62822,592,95822,560,59222,573,76222,552,83422,553,25422,562,266
65022,508,55622,537,40422,520,59222,539,98422,545,44022,561,71222,514,01622,505,13222,548,26022,560,968
68022,559,64022,578,10422,580,51822,604,59222,623,03022,551,95822,536,64022,552,93822,577,58022,591,406
71022,745,77422,719,34622,698,27222,729,82622,744,69822,758,93022,750,38422,700,35022,748,52222,722,210
74022,701,91622,737,03822,713,90622,724,55022,684,05222,712,63022,711,88222,699,24022,709,15622,725,202
77022,695,03222,722,62822,698,26222,641,37222,718,94422,671,87222,693,70622,646,23222,712,83222,662,506
80022,543,43622,580,19222,582,99622,543,78822,604,1862,257,07722,575,26422,577,72822,603,70822,558,152
83022,633,48622,634,21622,660,65022,650,06022,656,63222,667,04622,654,77622,634,86622,653,40022,676,644
86022,648,03422,662,02822,664,39622,678,95422,667,78622,624,58022,637,90422,686,83422,638,01422,668,170
Table 5. Optimal cost (in Saudi Riyal SAR) of model (9) based on Algorithm 2 for K = 50 to K = 860 scenarios and R = 21 to R = 30 realizations.
Table 5. Optimal cost (in Saudi Riyal SAR) of model (9) based on Algorithm 2 for K = 50 to K = 860 scenarios and R = 21 to R = 30 realizations.
Sample Size21222324252627282930
5022,237,86622,064,71222,288,52222,096,83222,233,89022,129,08222,048,73022,052,80622,085,46622,246,550
8022,650,97222,661,50222,658,05822,568,15622,704,10822,599,49622,696,51422,646,99222,628,37422,569,252
11023,134,60223,092,24223,054,20623,106,75823,144,74623,095,80423,167,00023,103,77823,135,16823,107,404
14023,024,37423,030,50623,127,33423,101,28023,050,95023,090,39822,956,58823,135,85023,061,20823,009,344
17022,830,96822,818,02422,787,50422,866,29622,788,27422,780,85222,787,23822,890,18422,859,10022,808,144
20022,928,62622,980,68422,860,02222,941,82022,894,20223,008,31022,962,15023,004,74022,954,90422,967,182
23022,942,94822,906,62222,954,18822,955,90822,942,78222,886,33422,922,43422,899,36222,904,34022,905,404
26023,058,66623,060,60623,033,86223,064,30223,007,43822,927,48622,979,69223,001,15423,039,63822,913,916
29022,577,36022,561,21222,583,88022,625,72822,606,30422,535,88022,623,66022,624,67822,587,09622,592,158
32022,619,50222,765,18622,743,14022,681,73022,702,64822,719,89622,720,04822,725,62022,733,81022,744,246
35022,619,56822,636,46822,575,31022,632,84222,602,06222,675,44422,568,67222,587,77822,638,00822,622,098
38022,643,36622,680,56222,640,69422,688,02422,667,93222,672,51822,655,80022,725,73222,652,44822,698,922
41022,748,35222,780,61222,729,97822,778,03822,744,23222,806,57222,757,66022,750,52222,735,18822,677,712
44022,615,16222,578,91222,567,59222,597,35822,584,56022,627,42022,631,51022,588,66622,594,06822,590,898
47022,527,66822,572,50822,587,70622,575,77022,596,90422,609,26822,597,64022,590,87822,577,68422,538,274
50022,670,03822,703,90422,647,92622,701,69222,619,18822,663,30622,713,76622,726,32622,708,78822,678,846
53022,519,29222,533,61822,523,79222,545,32622,529,34222,517,13222,533,52822,532,02422,565,59022,518,608
56022,670,20222,714,54622,681,59822,702,49422,678,01622,696,83422,700,45422,702,17422,692,44622,666,224
59022,631,48622,604,53422,648,13422,659,32222,696,01822,655,77022,664,94622,655,82222,660,22822,675,754
62022,552,15822,549,85022,538,27022,533,20222,574,86422,561,41222,560,60022,570,52422,561,30022,554,800
65022,561,52422,523,80022,533,30022,560,21222,546,93622,477,88822,534,81422,525,25022,535,68022,528,842
68022,600,77222,551,16822,580,08622,584,99622,610,59022,566,73022,536,92222,581,65422,564,91022,583,512
71022,705,43622,766,48422,678,77822,759,90822,757,57222,690,55222,755,68622,728,35622,712,01422,726,842
74022,710,48222,697,67822,727,42222,713,17822,695,71622,740,50622,700,37622,705,50222,690,27222,733,846
77022,672,16422,662,02622,662,61222,649,37822,613,33822,682,67822,677,70422,702,01622,668,98022,708,340
80022,579,13422,602,00622,596,47022,563,87622,570,87822,606,12822,581,40022,572,41222,604,12822,579,028
83022,661,11422,669,41022,663,71422,665,34622,686,49222,666,67222,671,73622,649,26422,654,32422,660,886
86022,669,47822,674,12422,687,45222,666,02222,660,21622,648,84622,687,59422,668,55822,660,68222,670,380
Table 6. Average optimal cost (in Saudi Riyal SAR) and variance of model (9) for sample sizes (number of scenarios) K = 50 to K = 860 .
Table 6. Average optimal cost (in Saudi Riyal SAR) and variance of model (9) for sample sizes (number of scenarios) K = 50 to K = 860 .
Sample SizeAverage Optimal CostVarianceStandard Deviation
5022,156,5828,697,925,05593,263
8022,630,0903,495,438,25659,122
11023,120,6321,432,050,71337,842
14023,046,1483,094,836,08355,631
17022,830,1252,466,269,61149,662
20022,952,8442,114,211,87045,981
23022,924,3091,198,517,44434,620
26022,992,8522,334,093,82748,312
29022,599,662918,263,47230,303
32022,706,9401,429,359,48037,807
35022,616,519679,135,76626,060
38022,655,447707,605,55426,601
41022,747,871652,405,53525,542
44022,606,725701,139,01626,479
47022,580,160631,900,45025,138
50022,675,607901,529,49430,025
53022,522,852338,798,84118,406
56022,687,002486,384,31822,054
59022,651,531464,648,78421,556
62022,559,382444,399,27521,081
65022,533,254433,661,82220,825
68022,577,068474,443,17221,782
71022,729,714683,940,33526,152
74022,712,143290,062,71317,031
77022,677,892615,670,88324,813
80022,579,432410,792,10020,268
83022,658,147281,864,86116,789
86022,657,980326,299,65218,064
Table 7. Statistical analysis of average optimal cost (in Saudi Riyal SAR) and standard deviation of model (9) across varying sample sizes (number of scenarios) K = 50 to K = 860 .
Table 7. Statistical analysis of average optimal cost (in Saudi Riyal SAR) and standard deviation of model (9) across varying sample sizes (number of scenarios) K = 50 to K = 860 .
# ScenariosAverageStandard DeviationT-StatisticF-Statistic
5022,156,58293,263
8022,630,09059,12223.4140.382
11023,120,63237,84239.2180.383
14023,046,14855,631−6.2222.559
17022,830,12549,662−15.4670.785
20022,952,84445,9819.8410.857
23022,924,30934,620−2.7660.574
26022,992,85248,3126.0711.813
29022,599,66230,303−37.4900.411
32022,706,94037,80711.8861.604
35022,616,51926,060−10.7000.439
38022,655,44726,6016.0921.062
41022,747,87125,54213.6910.916
44022,606,72526,479−20.7931.133
47022,580,16025,138−3.9480.914
50022,675,60730,02512.8631.406
53022,522,85218,406−23.0070.380
56022,687,00222,05430.6921.345
59022,651,53121,556−6.1241.005
62022,559,38221,081−16.2480.964
65022,533,25420,825−4.6580.980
68022,577,06821,7827.6901.036
71022,729,71426,15224.1631.529
74022,712,14317,031−3.0600.416
77022,677,89224,813−5.9011.996
80022,579,43220,268−17.0570.643
83022,658,14716,78916.2020.765
86022,657,98018,064−0.2551.111
Table 8. Upper and lower bounds for Stage 1 solution for R = 30 realizations.
Table 8. Upper and lower bounds for Stage 1 solution for R = 30 realizations.
RealizationUpper BoundLower BoundGap %
122,954,89222,652,4061.318
222,924,61022,652,4061.187
322,956,59022,652,4061.325
422,975,28422,652,4061.405
522,969,02422,652,4061.378
622,947,76022,652,4061.287
722,963,01622,652,4061.353
822,932,94622,652,4061.223
922,968,39022,652,4061.376
1022,952,40422,652,4061.307
1122,928,42222,652,4061.204
1222,989,52622,652,4061.466
1322,960,65222,652,4061.342
1422,973,00222,652,4061.396
1522,974,32822,652,4061.401
1622,992,13622,652,4061.478
1722,914,50022,652,4061.144
1822,938,44022,652,4061.247
1922,926,55022,652,4061.196
2022,929,45822,652,4061.208
2122,948,44022,652,4061.290
2222,982,71222,652,4061.437
2322,951,65622,652,4061.304
2422,962,41822,652,4061.350
2522,959,58222,652,4061.338
2622,947,28822,652,4061.285
2722,959,47422,652,4061.337
2822,950,02822,652,4061.297
2922,957,33822,652,4061.328
3022,983,92622,652,4061.442
Table 9. Stage 1 solution for R = 30 realizations of the optimal number of scenarios at K * = 860 .
Table 9. Stage 1 solution for R = 30 realizations of the optimal number of scenarios at K * = 860 .
RealizationSABIC 1SABIC 2SABIC 3SIPCHEMZ
10070539590
20063039620
30031139930
40021240000
50039039850
6007040140
70018640020
80058639710
90093539310
100046339770
110072739510
120076939540
130052839760
140059939690
150098039380
160039539850
170047839790
180097739390
190047439760
200072839590
210093539310
220057539720
230097739390
240049039770
250059939690
260051539750
270091039460
280063539640
290049339770
300060139670
Table 10. Investment plan for Stage 1 based on two-stage bound portfolio optimization model (9).
Table 10. Investment plan for Stage 1 based on two-stage bound portfolio optimization model (9).
PeriodInterest
Rate
Liabilities
(in SR)
Cash Accumulated
at the Beginning
of Period t
(in SR)
Cash
Flow
(in SR)
Total
Interest
(in SR)
Total
Income
(in SR)
Cash Accumulated
at the End of
Period t
(in SR)
10.01481,009,89505,006,90705,006,9073,997,012
20.03172,275,1673,997,0125,006,9074,123,7179,130,6246,855,457
30.01123,064,5116,855,4575,006,9076,932,2381,1939,1458,874,634
40.01124,086,0158,874,6345,006,9078,974,0301,3980,9379,894,922
Table 11. Computational cost of Algorithm 2 based on different number of scenarios.
Table 11. Computational cost of Algorithm 2 based on different number of scenarios.
Number of
Scenarios
2040608090100500100020005000
Computational
Cost (in seconds)
0.020.0240.0670.2070.1570.0360.11.20764.943.94
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Albaqami, H.; Mrad, M.; Gharbi, A.; Subasi, M.M. A Monte Carlo-Based Framework for Two-Stage Stochastic Programming: Application to Bond Portfolio Optimization. Entropy 2025, 27, 1118. https://doi.org/10.3390/e27111118

AMA Style

Albaqami H, Mrad M, Gharbi A, Subasi MM. A Monte Carlo-Based Framework for Two-Stage Stochastic Programming: Application to Bond Portfolio Optimization. Entropy. 2025; 27(11):1118. https://doi.org/10.3390/e27111118

Chicago/Turabian Style

Albaqami, Hissah, Mehdi Mrad, Anis Gharbi, and Munevver Mine Subasi. 2025. "A Monte Carlo-Based Framework for Two-Stage Stochastic Programming: Application to Bond Portfolio Optimization" Entropy 27, no. 11: 1118. https://doi.org/10.3390/e27111118

APA Style

Albaqami, H., Mrad, M., Gharbi, A., & Subasi, M. M. (2025). A Monte Carlo-Based Framework for Two-Stage Stochastic Programming: Application to Bond Portfolio Optimization. Entropy, 27(11), 1118. https://doi.org/10.3390/e27111118

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop