Close
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Numerical analysis on the influence of information delay on optimal investment strategy in the family of 4/2 stochastic volatility models
(USC Thesis Other)
Numerical analysis on the influence of information delay on optimal investment strategy in the family of 4/2 stochastic volatility models
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
NUMERICAL ANALYSIS ON THE INFLUENCE OF INFORMATION DELAY ON OPTIMAL INVESTMENT STRATEGY IN THE FAMILY OF 4/2 STOCHASTIC VOLATILITY MODELS by WENYU XU A Thesis Presented to the FACULTY OF THE USC DANA AND DAVID DORNSIFE COLLEGE OF LETTERS, ARTS AND SCIENCES UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree MASTER OF SCIENCE (APPLIED MATHEMATICS) August 2023 Copyright 2023 WENYU XU Acknowledgements Foremost, I would like to thank USC and the faculty of the mathematics department for giving me the opportunity to continue my education. It has been a pleasure and an honor to study here, and I have learnt a lot since I came here. I would like to express my gratitude to my thesis advisor, Dr. Jianfeng Zhang, whom introduced me to this thesis topic and guided me throughout the research process. I would also like to thank the rest of my thesis committee, Dr. Steven M. Heilman and Dr. Sergey Lototsky, for their interest in my research and giving me the feedback needed to complete my thesis. I cannot see myself completing this thesis without the support from my advisor and the committee. Finally, I would like to thank my family and friends for their constant support, both mentally and physically, throughout my graduate education. I will always be grateful of everyone that was there for me at any moment during my graduate degree. ii TableofContents Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi Chapter 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 The development of stochastic volatility models . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Extension of Merton’s portfolio optimization problem . . . . . . . . . . . . . . . . . . . . . 4 1.3 Information delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Chapter 2: Theoretical Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1 Probability spaces and stochastic process . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Stochastic optimal control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Chapter 3: Optimal Strategy with the 4/2 model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Chapter 4: Numerical Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.1 Calculation of CVIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2 Parameter estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.3 Impact of information delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Chapter 5: Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 iii ListofTables 4.1 Basic Statistical Indices of SSE 50 Index in Feb and May . . . . . . . . . . . . . . . . . . . . 32 4.2 Coefficients of Power Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 iv ListofFigures 4.1 Minutely CVIX of SSE 50ETF in Feb, 2023 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.2 Minutely Closing Prices for SSE 50 Index in Feb, 2023 . . . . . . . . . . . . . . . . . . . . . 28 4.3 Daily Shibor Interest Rates with Overnight Maturity in Feb, 2023 . . . . . . . . . . . . . . . 29 4.4 Daily Optimal Strategy with Information Delay in Feb, 2023 . . . . . . . . . . . . . . . . . 31 4.5 Average Difference between Different information Delay in Feb, 2023 . . . . . . . . . . . . 31 4.6 Minutely Closing Prices for SSE 50 Index in May, 2023 . . . . . . . . . . . . . . . . . . . . . 32 4.7 Minutely CVIX of SSE 50ETF in May, 2023 . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.8 Daily Optimal Strategy with Information Delay in May, 2023 . . . . . . . . . . . . . . . . . 34 4.9 Average Difference between Different information Delay in May, 2023 . . . . . . . . . . . . 34 4.10 Curve of Power Function Fitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 v Abstract Grasselli’s 4/2 stochastic volatility model enables efficient pricing procedures due to its ability to cap- ture the volatility smile phenomenon observed in asset price dynamics. However, in practical scenarios, invests may not have assess to real-time market information, leading to information delays that affect investment decisions. This thesis focuses on the implications of information delay on investment perfor- mance. By incorporating time lags in the parameter estimation, we model delayed information scenarios and examine their effects on optimal investment strategies. Our findings reveal that information delay sig- nificantly impacts the efficiency of optimal investment strategies. We highlight the importance of timely and accurate information in portfolio management. vi Chapter1 Introduction As financial markets evolve and become more complex, making optimal investment decisions is a more and more challenging task for investors. The need for more sophisticated models to understand and manage volatility risk grew, leading to the development and adoption of stochastic volatility models. Also, calibration methods are developing to estimate model parameters from market data. Technology plays a crucial role in this process. The 4/2 model is a new stochastic volatility model introduced in Grasselli, 2017. It is a powerful tool for capturing the complex dynamics of asset price volatility. The results studied by Zhu and Wang, 2018 show the 4/2 model is found to have the best overall performance in pricing S&P 500 index option, compared to the 3/2 model and Heston model. Cheng and Escobar-Anel, 2021 extend to the optimal investment problem maxmizing the expected power utility in the family of the 4/2 stochastic volatility models. However, calibrating this portfolio optimization problem to market data can be computationally intensive and time-consuming because the 4/2 model involves solving a system of stochastic differential equations numerically. Also, the 4/2 model has several parameters that need to be estimated to calculate results. Investors may not be able to utilize the most recent information due to these limitations, leading to information delays that may impact on making optimal investment decisions. This thesis investigates the influence of information delay on portfolio optimization problem maxi- mizing the expected power utility in the family of the 4/2 models. The primary objective is to understand 1 how delayed information affects portfolio allocations. We assume that an investor rebalances his portfolio daily and estimates model’s parameters under information flows with different time lags. Lastly, we input these estimated parameters into the model for computation and analyze the results. We finish this section with some literature reviews of stochastic volatility models, portfolio optimiza- tion problems, and information delay. The rest of the thesis is organized as follows. In Section 2, we provide some mathematical background related to stochastic control problems. we briefly introduce the portfolio optimization problem with the 4/2 model by following the work of Cheng and Escobar-Anel, 2021 in Section 3. Section 4 outlines the methodology and data used in the numerical analysis. We calculate the volatility index and estimate the model parameters applying the SSE 50 data. Then, we present the results and discuss the implications of information delay. Section 5 concludes the thesis. 1.1 Thedevelopmentofstochasticvolatilitymodels Fischer and Myron, 1973 proposed the Black-Scholes’ model. This Nobel prize winning model revolu- tionized the field of quantitative finance. It provides a simple framework for pricing options and leads to a closed-form solution that allows for efficient and straightforward calculations. Now, it serves as a starting point for more advanced models and many improvements are introduced because the simple construction of this model brings a number of limitations. To modify constant volatility assumption, which is one of the main limitations of Black-Scholes’ model, one extension is the introduction of stochastic volatility models. In finance, volatility measures the fluctuation of returns for an underlying asset, commonly using standard deviation or variance of the returns. Thus, volatility reflects the uncertainty or risk associated with the asset’s price movements. Implied volatility measures the market’s perception of future volatility in the price of an asset so that it can not be observed directly. Obviously, implied volatility itself is not a static entity but rather evolves as market conditions over time. Volatility smile or skew is one of the common characteristics of implied volatility. The shape of the curve is somewhat U-shaped("smile") or downward 2 sloping ("skew" to the left) or upward sloping ("skew" to the right). One of the possible reason for the existence of the volatility smile or skew may be that market participants are generally more concerned about tail risks, such as market crashes or economic crises. Stochastic volatility models are used to capture the dynamics of asset price volatility. The most well- known stochastic volatility model is the Heston model, proposed by Heston, 1993. The instantaneous volatility of the asset price in the Heston model is assumed to follow a Cox-Ingersoll-Ross (CIR) stochastic process, distinct from the asset price movements. This model can generate an downward-sloping implied volatility smile or skew and provide a semi-analytical solution for European option prices, which makes it computationally efficient. However, comparing to empirical data, the trend predicted by the Heston model in the price time series would be more mild, especially when sharp increases are evident in the stock price time series due to high market volatility. To solve this shortcoming, Heston, 1997 proposed the 3/2 stochastic volatility model. In this model, the instantaneous volatility is modeled as the inverse of a CIR process. In the periods of market stress, the 3/2 model predicts a steep upward-sloping volatility skew when the instantaneous volatility increases. Following Drimus and G., 2012 study, this model does not focus on very low and vanishing volatility derivatives. Obviously, under different market situations, we need to choose a more suitable model from Heston model and the 3/2 model. In 2017, Grasselli, 2017 introduced a new 4/2 stochastic volatility model. This model combines Heston model and the 3/2 model. By combining the two, the 4/2 model captures the advantages of both Heston and the 3/2 models, but it also inherits a pitfall from the 3/2 model: a risk- neutral measure may not exist. Fortunately, we could price assets according to the Benchmark Approach from Platen and Heath, 2006. This approach does not require the existence of a risk-neutral probability measure. From Grasselli’s study, an important feature of the 4/2 model is that instantaneous volatility process can be uniformly bounded away from zero. Also, this model is mathematically and computationally tractable. 3 1.2 ExtensionofMerton’sportfoliooptimizationproblem Merton’s portfolio optimization problem is a seminal work introduced by Nobel laureate Merton, 1971. It provides a framework for optimizing an investor’s portfolio allocation by considering both risky assets and risk-free assets. A risk-free asset (i.e., a government-issued bond, a bank-issued certificate of deposit, or a savings account) is an investment which usually carries no possibility of default or loss of principal with a relative low rate of interest. While a risky asset (i.e., a stock, a commodity, or real estate) refers to an investment which carries a higher level of risk with the potential for higher returns. Therefore, assuming that this investor seeks to maximize his expected utility of wealth over a limited amount of time, the main point behind Merton model is that an investor can obtain an ideal equilibrium between risk and return by continuously adjusting the allocation between risky assets and risk-free assets without transaction cost. The insights of Merton’s work have had a significant impact on the development of various portfolio management strategies and asset allocation approaches. However, Merton’s portfolio optimization prob- lem assumes that the price of a risky asset follows a geometric Brownian motion, meaning that both rate and volatility of risky asset are constants, which is incompatible with empirical data. Volatility smile, as one of characteristics of the implied volatility surface, can not be explained within constant volatility models. Many extensive studies on portfolio optimization have been done to address real-world complex- ities and enhance investment decision-making. For instance, Zeng and Taksar, 2013 presented a general class of stochastic volatility models, obtained closed-form solutions for the power and logarithmic utility functions, and applied to the Heston model. Based on the benefits of the 4/2 model, we naturally extend Merton model and assume that the price of a risky asset is governed by the 4/2 model. Cheng and Escobar-Anel, 2021 formulated this problem and solved it using a stochastic optimal control approach. The value function could be solved according to the principles of dynamics programming, by deriving a nonlinear partial differential equation referred to as the Hamilton-Jacobi-Bellman (HJB) equation. In general, proving the existence of a solution for a nonlinear 4 HJB equation can be challenging. However, Cheng and Escobar-Anel, 2021 considered a risk-averse in- vestor with a Constant Relative Risk Aversion (CRRA) utility and in some special case, the specific form of the CRRA utility function and the properties of the Hamiltonian function could lead to nice mathematical properties of the HJB equation. Therefore, the optimal allocation could be obtained. 1.3 Informationdelay Generally, partial observations refer to situations where decision-makers have access to only partial or incomplete information about the underlying systems or environments. Information delay is defined as the time lag between the occurrence of an event or the release of new information and the moment when that information becomes available to decision-makers. Decision-makers may not have access to the most recent market information. Therefore, information delay can be viewed as a special case of partial observations. Saporito and Zhang, 2019 study stochastic control problems with delayed information and obtain the exsitence of a classical solution in some special case. They emphasize that information delay leads to the path dependence of the value function. One type of information delay could be caused by certain rules or provisions in the financial markets. One associated example could be the release of a company’s quarterly earnings report. The earnings report provides crucial information about this company’s financial performance, which can significantly impact the stock price. If the company could release its earnings report immediately after the end of the quarter, and the information becomes instantly available to all market participants, then investors can quickly analyze the report and make well-informed decisions of portfolio allocation. However, in practice, the company’s earnings report is not released until several days or weeks after the end of the quarter, leading to an information delay. Information delay arised from the existence of call auction trading could be another associated example. There is a call auction period from 09:15 am to 09:25 am before regular continuous auction trading periods beginning at 09:30 am for Chinese stock market on trading days. Buy and sell 5 orders are collected and matched at a single clearing price during call auction period and announced after 09:25 am. If an investor rebalances his portfolio at the beginning of every trading days, then the call auction period may lead to an information delay. Another type for information delay could occur due to data processing. To transform raw data into meaningful information for decision-making, there are several stages, including data collection, storage, organization, cleaning, analysis, and interpretation. The time required for all these stages leads to an information delay. Understanding the impact of information delay is significant for researchers and market participants, as it can help them develop more accurate models and optimize investment strategies. 6 Chapter2 TheoreticalBackground In this chapter, we give brief introduction to mathematical preliminaries that are related to our study. The primary contribution of this thesis will be numerical analysis of the dynamic portfolio optimization problem, but we will take the time to consult the following literature by: Zhang, 2017, Pham, 2009 as refer- ences for the materials presented in this section. This presentation does not contain any new developments but solely serves the purpose of presenting a concise review. 2.1 Probabilityspacesandstochasticprocess In this section, Let T be a fixed time in the interval (0,∞). Consider a probability space (Ω ,F, I P), where • Ω is the set of all possible outcomes of a random event, and its elements are denoted byω; • F is aσ -field onΩ ; • I P is a probability measure on(Ω ,F). 7 Given (Ω ,F, I P), an event A ∈ F is a IP-null event if I P(A) = 0. We say (Ω ,F, I P) is a complete probability space ifN (F, I P)⊂ F , where N (F, I P):={A⊂ Ω: thereexistsa I P− null set ˜ A∈F suchthatA⊂ ˜ A} Definition2.1.1 Let(Ω ,F, I P) be a probability space. We say I F:={F t ,0≤ t≤ T} is a filtration if • for anyt∈[0,T],F t ⊂ F is a sub-σ -field; • for any0≤ t 1 <t 2 ≤ T ,F t 1 ⊂ F t 2 . We call the quadruple(Ω ,F, I F, I P) a filtered probability space. Denote F + t :=F t+ := \ s>t F s , I F + :={F + t : 0≤ t≤ T}. We say I F is right continuous if I F + = I F. Given a measurable space(Ω ,F). We say a mappingX :Ω → I R is anF -measurablerandomvariable, if X − 1 (A):={X ∈A}:={ω∈Ω: X(ω)∈A}∈F forallA∈B(I R). Definition2.1.2 Astochasticprocess is a familyX ={X t } t≥ 0 of random vectorsX t defined on the filtered probability space(Ω ,F, I F, I P). The stochastic processX t is calledprogressivelymeasurable if the mapping X| [0,t] :[0,t]× Ω → I R d is(B([0,∞]) N F t ) measurable for eacht≥ 0. Definition2.1.3 We say a processB :[0,T]× Ω → I R is a standard Brownian motion if • B 0 =0,a.s.; • for any0=t 0 <...<t n ≤ T ,B t 1 ,(B t 2 − B t 1 ),...,(B tn − B t n− 1 ) are independent; • for any0≤ s<t≤ T ,B t − B s ∼ N(0,t− s). 8 2.2 Stochasticoptimalcontrol Consider a dynamical system whose random stateX =X(ω)∈ I R n evolves according to the stochas- tic differential equation under a complete probability space (Ω ,F, I F, I P), where I F is a right-continuous information filtration generated by standard Brownian motions: dX t =b(t,X t ,u t )dt+σ (t,X t ,u t )dB t , t∈[0,T], (2.1) eq:SDE eq:SDE subjected to an initial conditionX 0 = x. The dynamict7→ X t depends on the controlled inputu, where the value u t represents the control applied in the system at time t, chosen with respect to the available information. Assume that the drift functionb:[0,T]× I R n × U → I R n and the diffusion function σ :[0,T]× I R n × U → I R n× m are continuous and Lipschitz continuous with respect to the state variablex, that is, for allx,y∈ I R n , t∈[0,T] andα ∈U, it satisfies that |b(t,x,α )− b(t,y,α )|+|σ (t,x,α )− σ (t,y,α )|≤ c|x− y| for a positive constantc. AnF -progressively measurable processu={u t } t≥ 0 with values in a given set ofU ⊂ I R p satisfies I E Z T 0 |b(t,0,u t )| 2 +|σ (t,0,u t )| 2 dt <∞ is called an admissible control process andU denotes the set of all admissible control processes. There exists a unique strong solution to the stochastic differential equation (2.1) for each initial data (t,x)∈[0,T]× I R n . 9 The optimization objectiveJ measures the performance of control processes and is defined as: J(t,x,u)= I E Z T t f(s,X t,x,u s ,u s ))ds+g(T,X t,x,u T ) To beJ well-defined, U is restricted to the admissible control processes with I E h R T t f(s,X t,x,u s ,u s ))ds i < ∞ and g is lower-bounded or satisfies |g(x)| ≤ c(1+|x| 2 ),∀x ∈ I R n , for some constant c. We want to find an admissible control process u ∗ attaining the maximum ofJ(t,x,·) over all the admissible control processesU : V(t,x)=J(t,x,u ∗ )= sup u∈U J(t,x,u). We use dynamic programming to break down the optimization problem into smaller sub-problems and introduce the dynamic programming principle. Theorem2.2.1 (Dynamic programming principle) Let(t,x)∈[0,T]× I R n , then we have V(t,x)= sup u∈U sup θ ∈T t,T I E Z θ t f(s,X t,x,u s ,u s ))ds+V(θ,X t,x,u θ ) (2.2) = sup u∈U inf θ ∈T t,T I E Z θ t f(s,X t,x,u s ,u s ))ds+V(θ,X t,x,u θ ) , (2.3) eq:DPP eq:DPP whereθ ∈T t,T is a stopping time. Consider the timeθ = t+h and a constant controlu s = a, for some arbitrarya inU, in the relation (2.3) of the dynamic programming principle: V(t,x)≥ I E Z t+h t f(s,X t,x,u s ,a))ds+V(t+h,X t,x,u t+h ) . (2.4) eq:derHJB eq:derHJB 10 By assuming that V is smooth enough, we might apply Itˆ o’s formula betweent andt+h: V(t+h,X t,x t+h )=V(t,x)+ Z t+h t ∂ t V(s,X t,x,u s )ds+ Z t+h t b(s,x,a)· D x V(s,X t,x,u s )ds + Z t+h t 1 2 tr(σ (s,x,a)σ ′ (s,x,a)· D 2 x V(s,X t,x,u s )ds+ Z t+h t σ (s,X t,x,u s ,a)· D x V(s,X t,x,u s )dB s . Here, R t+h t σ (s,X t,x,u s ,a)· D x V(s,X t,x,u s )dB s is a martingale. Then, letL a V = b(s,x,a)· D x V + 1 2 tr(σ (s,x,a)σ ′ (s,x,a)· D 2 x V , substituting the above equation into the inequality (2.4) implies I E Z t+h t (∂ t V +L a V)(s,X t,x,u s )+f(s,X t,x,u s ,a)ds ≤ 0. Dividing byh and sendingh→0, this yields by the mean-value theorem ∂ t V(t,x)+L a V(t,x)+f(t,x,a)≤ 0, for∀a∈U. Thus we obtain the inequality − ∂ t V(t,x)− sup a∈U [L a V(t,x)+f(t,x,a)]≥ 0. (2.5) eq:strdeq eq:strdeq Sinceu ∗ is an optimal control, we have V(t,x)= I E Z t+h t f(s,X t,x,u ∗ s ,u ∗ ))ds+V(t+h,X t,x,u ∗ t+h ) , and − ∂ t V(t,x)− L u ∗ t V(t,x)− f(t,x,u ∗ t )=0. (2.6) eq:opteq eq:opteq 11 Combining the two equations (2.5) and (2.6),V(t,x) is required to satisfy the following partial differ- ential equation − ∂ t V(t,x)− sup a∈U [L a V(t,x)+f(t,x,a)]=0, for∀(t,x)∈[0,T]× I R n . We refer this equation as the Hamilton-Jacobi-Bellman equation (HJB) associated to the optimization con- trol problem. The regular terminal condition associated to this partial differential equation is V(T,x)=g(x), ∀x∈ I R n . 12 Chapter3 OptimalStrategywiththe4/2model In this section, following the works of Grasselli, 2017 and Cheng and Escobar-Anel, 2021, we briefly introduce their model and solution. A portfolio is a collection of financial investments or assets held by an individual or an entity. For simplicity, we assume that an risk-averse investor’s portfolio only consists of one risk-free asset and one risky asset and those two assets can be traded continuously during the time period T in the financial market. The return on a risk-free asset is expected to be stable and predictable, so the price R t of the risk-free asset can be evolved by assuming a constant interest rater, i.e., dR t =R t rdt, R 0 =1. The return of a risky asset can be hard to predictable. We model that price processS of the risky asset following the so called 4/2 model by Grasselli, 2017: dS t =S t µ t dt+ a √ v t + b √ v t dW t , S(0)=S 0 >0, (3.1) 4/2model 4/2model dv t =κ (θ − v t )dt+σ √ v t dB 1t , v(0)=v 0 >0, (3.2) CIRpro CIRpro 13 wherea∈ I R + ,b∈ I R + ,v follows a Cox-Ingersoll-Ross (CIR) process with mean-reversion rateκ> 0, long- run meanθ > 0, and volatility of volatilityσ > 0. Since the diffusion term in SDE (3.2) of v t :v7→σ √ v is not Lipschitz continuous, it is not clear whether there exists a solution that holds for any initial valuev 0 > 0. Assume that the Feller condition, i.e.2κθ ≥ σ 2 , holds true to lead the SDE (3.2) well-posed and keep the processv t strictly positive.W t andB 1t are two standard Brownian motions with a correlation coefficient of ρ ∈(− 1,1). Thus, according to property of Brownian motion and for convenience, we introduce another standard Brownian motionB 2t , independent ofB 1t and writedW t =ρdB 1t + p 1− ρ 2 dB 2t . The variance process can be implied by the model and denoted as follows: var(v)= a √ v t + b √ v t 2 =a 2 v t + b 2 v t +2ab. (3.3) varpro varpro If we derive the first-order derivative of the variance process var(v) (3.3) with respect tov, that is, d(var) dv =a 2 − b 2 v 2 , then we can see that the derivative is bigger than zero in( b a ,∞) and smaller than zero in(0, b a ). This is, the variance is increasing in the interval( b a ,∞), decreasing in the interval(0, b a ), and reaches the minimum value4ab at the pointv ∗ = b a . Here, we need to talk about the drift process µ . Generally, the drift process represents the expected rate of return of the underlying asset. Since risky assets are more volatile and subject to larger price fluctuations than risk-free assets. In return to bearing this higher risk, investors may expect the possibility of higher profits. Thus, the expected rate of return of a risky asset consists of risk-free rate and the excess return that investors expect to earn by investing in this risk asset. Furthermore, the excess return of a risky asset can be separated into two components. One component is market return, that is, the return of overall market. The performance of the market that this risky asset belongs to can influence the return of 14 the risky asset. Another component comes from the unique performance of this risky asset. Cheng and Escobar-Anel, 2021 define those two components are proportional to √ v t . Therefore, the drift processµ can be established as follows: µ t =r+ ¯λ √ v t (a √ v t + b √ v t )=r+ ¯λ (av t +b), (3.4) mupro mupro where ¯λ = ¯λ 1 ρ + ¯λ 2 p 1− ρ 2 is a constant, ¯λ 1 and ¯λ 2 are proportions. Note that as Grasselli, 2017 mentioned, a risk-neutral measure may not exist in the 4/2 model. Thus, Cheng and Escobar-Anel, 2021 provide some parametric conditions so that the 4/2 model can be well- defined in a risk-neutral environment. Proposition A valid risk-neutral measure exists under the following conditions: max | ¯λ 1 |,| ¯λ 2 | < κ σ , σ 2 ≤ 2κθ − 2|σρb |, κ +σρa> 0, κ +σρ ¯λ 1 >0. Now, this risk-averse allocates a proportion π t of wealth to the risky asset, and the rest goes to the risk-free asset. Then the wealth process of this investor evolves with initial budgetx>0 as the following: dX t X t = r+π t ( ¯λ (av t +b)) dt+π t a √ v t + b √ v t ρdB 1t + p 1− ρ 2 dB 2t , (3.5) optimal optimal The objective of the investor is to find an investment strategy that maximizes utility from terminal wealth at time T with a CRRA risk preference (i.e., a power utility functionu(x)= x γ γ ,x≥ 0, whereγ ≤ 1): J(x,v,t)= sup π ∈U I E x,v,t [u(X T )], (3.6) valuefunc valuefunc 15 whereJ(x,v,t) is the value function andU is the space of admissible strategies. Then the corresponding HJB equation should satisfy the following: 0=sup π ∂ t J +x r+π ¯λ (av+b) ∂ x J +κ (θ − v)∂ v J +sup π ( 1 2 x 2 π 2 a √ v+ b √ v 2 ∂ xx J + 1 2 σ 2 v∂ vv J ) +sup π {πx (av+b)σρ∂ xv J}, (3.7) HJB HJB with boundary conditionJ(x,v,T)= x γ γ . The solution to (3.7) given by Cheng and Escobar-Anel, 2021 is J(x,v,t)= x γ γ exp{A(τ (t))+B(τ (t))v}, whereτ (t)=T − t. A(τ ) andB(τ are given by A(τ )=γrτ + 2θκ k 2 ln 2k 3 e k 1 +k 3 2 τ 2k 3 +(k 1 +k 3 )(e k 3 τ − 1) ! , B(τ )= k 0 (e k 3 τ − 1) 2k 3 +(k 1 +k 3 )(e k 3 τ − 1) , with auxiliary parametersk 0 := γ ¯λ 2 1− γ ,k 1 :=(κ − ¯λ γσρ 1− γ ),k 2 :=(σ 2 + γσ 2 ρ 2 1− γ ) andk 3 := p k 2 1 − k 0 k 2 . The optimal strategy is π ∗ = v av+b σρB (τ ) 1− γ + ¯λ 1− γ . (3.8) optimalproportion optimalproportion 16 Chapter4 NumericalAnalysis Now that we have presented the theory behind portfolio optimization problem in the family of the 4/2 model using HJB equations under incomplete market, we can take a look at direct applications of this optimal strategy in the Chinese stock market. We must keep in mind that our optimal strategy with the 4/2 model makes simplifying assumptions, such as assuming continuous trading, frictionless markets, and complete availability of all relevant information. However, in real market, investors face various constraints and practical considerations that are not always captured in the theoretical model. To bridge the gap between theory and practice in our portfolio optimization, we first consider regular rebalancing, that is, adjusting the weights of assets in a portfolio to bring them back to the desired alloca- tion. One of the approaches to rebalancing is based on time. Investors divide the trading time into discrete periods, such as daily, weekly, monthly, or annually, and make trading decisions at the beginning or end of each interval regardless of market conditions. Another method is threshold-based rebalancing. At this time, investors set specific deviation thresholds for asset allocation and a rebalancing action is triggered when the actual allocation deviates beyond these thresholds. Since we need to assess the impact of in- formation delay, we assume that the investor rebalances daily and makes trading decisions at the end of every trading day regardless of market conditions. 17 Second, The frictionless market assumption assumes that there are no transaction costs, taxes, infor- mation asymmetries, or constraints on trading. However, real financial markets are not frictionless and the following factors can impact investment decisions and market dynamics: (i) transaction costs and taxes can reduce investment gains and alter optimal investment strategies, (ii) large trades can move stock price and affect the execution of subsequent trades, (iii) illiquid assets may have wider bid-ask spreads and higher transaction costs. To mitigate the impact of the aforementioned factors, we assume that the investor chooses the Shanghai Stock Exchange 50 Exchange Traded Open-End Index Securities Investment Fund (SSE 50ETF) as a trade position. SSE 50 is a stock market index that tracks the performance of the 50 largest and the most liquid A-share stocks listed on the Shanghai Stock Exchange. Therefore, SSE 50ETF has good liquidity and is less susceptible to the impact of large trades. Moreover, choosing this fund for trading aligns with the assumption of risk-averse investors. For simplicity, we still assume that there are no transactions and taxes. Portfolio optimization problems with transaction costs are left for future studies. 4.1 CalculationofCVIX The data-set to calculate the Chinese Volatility Index (CVIX) for our numerical analysis consists of minute-by-minute closing prices of all tradable SSE 50ETF options and the Shanghai Interbank Offered Rate (Shibor) in February, 2023. The Shibor is a simple, no-guarantee, wholesale interest rate announced on the technological platform of the National Interbank Funding Center in Shanghai. It is an arithmetic average interest rate calculated based on all the interbank RMB lending rates offered by the price quotation group of banks with a high credit rating. The Shibor consists of eight maturities: overnight, 1-week, 2-week, 1-month, 3-month, 6- month, 9-month, and 1-year. 18 The contracts of SSE 50ETF options are based on the SSE 50ETF. These options provide investors with the opportunity to buy or sell the ETF at a specified price on a predetermined date and allow investors to speculate on the future price movements. The VIX (Volatility Index) is created and maintained by the CBOE (Chicago Board Options Exchange). It uses the prices of various call and put options on the S&P 500 to estimate the market’s expectation of volatility over the next 30 days. Thus, the VIX is often referred to as the "fear gauge" as it reflects investors’ expectations and perceptions of market uncertainty and potential price fluctuations over a specific period. However, the VIX is not applicable to measure volatility in the Chinese stock market since the VIX is designed to measure the expected volatility of the S&P 500 index options, which represent the U.S. equity market and the Chinese stock market operates differently from the U.S. stock market. Therefore, we use data from SSE 50ETF options and apply a modified version of the calculation method used for the CBOE VIX to compute a new index to measure volatility in the Chinese stock market. The CVIX Index is a volatility index comprised of SSE 50ETF options, with the price of each option reflecting the market’s expectation of future volatility. The formula used in the CVIX Index calculation is: σ 2 = 2 T X i ∆ K i K 2 i e R f T Q(K i )− 1 T F K 0 − 1 2 (4.1) varcal varcal where: • R f is the risk-free interest rate to expiration; • T is the time to expiration; • F is the forward index level derived from index option prices; • K 0 is the first strike below the forward index level, F ; 19 • K i is the strike price ofi th out-of-the-money option, a call option ifK i > K 0 and a put option if K i <K 0 ; • ∆ K i is the interval between strike prices - half the difference between the strike price on either side ofK i : ∆ K i = K i+1 − K i− 1 2 Our calculating process consists of several steps. After determining the date for which we need to calculate the CVIX, we first choose the SSE 50ETF options that expire in the current month as the "near- term" put and call options and SSE 50ETF options that expire in the next month would become the "next- term " options. Note that if the difference between the date of "near-term" options and the date for which we need to calculate the CVIX is less than one day, then the "near-term" options would be the SSE 50ETF options that expire in the next month and the "next-term" options would be the SSE 50ETF options whose expiration date is nearest the "near-term" options expiration day. Second, we calculate the time interval between the expiration date of a tradable SSE 50ETF option and the date for which we need to compute the CVIX. We use cubic spline interpolation to estimate the risk-free interest rate of this time interval within a set of Shibor rates with different maturities. Third, for each strike price, we calculate the absolute difference between the corresponding call and put option prices and choose the strike price with minimal absolute difference. Then we can derive two different forward index prices: F 1 for the "near-term" options and F 2 for the "next-term" options. The formula of the forward index price is given by: F =StrikePrice+e R f T ∗ (CallPrice− PutPrice). (4.2) We will separate call and put options into different groups according to the forward index price. 20 In the fourth step, we determine K 0 , which is the strike price immediately below the forward index level. Then, we select out-of-the-money put options with strike pricesK i < K 0 . We exclude any put op- tion that has a bid price equal to zero (i.e.,K i ≥ K 0 ), then we sort the remaining eligible put options based on their strike prices, starting with the put strike immediately lower thanK 0 and moving to successively lower strike prices. We apply a similar approach to select and sort call options. Start with the call strike price immediately higher than K 0 and move to successively higher strike prices, excluding call options that have a bid price of zero (i.e.,K i ≤ K 0 ). Fifth, we select both the put and call options with strike priceK 0 and calculate the average of quoted bid and ask price. In the sixth step, applying the formula (4.1) to calculate volatilities of the "near-term" and "next-term" options, denoted byσ 2 near andσ 2 next . The seventh and last step calculates the 30-day weighted average of volatilities of the "near-term" and "next-term" options with time to expiration of T near and T next . We can obtain the CVIX value for the underlying: CVIX =100∗ s T near σ 2 near N Tnext − N 30 N Tnext − N Tnear +T next σ 2 next N 30 − N Tnear N Tnext − N Tnear ∗ N 365 N 30 , whereN t is the number of minutes in time periodt. Figure (4.1) displays the minute-by-minute historical trend of the CVIX in February, 2023, exhibit- ing a cyclical pattern of alternating upward and downward movements. Each tick on the horizontal axis corresponds to a trading day. At the beginning of the chart, the CVIX exhibits a gradual upward trend, indicating a growing expectation of future market volatility among investors. The CVIX reaches its peak on the fourth trading day, reflecting a surge in risk aversion among investors. After the peak, there is a 21 Figure 4.1: Minutely CVIX of SSE 50ETF in Feb, 2023 fig: cvixinFeb gradual decline in the CVIX, indicating a gradual easing of market anxiety and a return to a calmer en- vironment. On the twelfth trading day, a new upward trend begins. It is obvious that the expectation of future market volatility among investors is typically not constant on a day-to-day basis. Instead, it changes continuously. Sometimes, it shows an upward trend. At other times, it may exhibit a downward trend. Fur- thermore, the expectation of future market volatility among investors can also follow a U-shaped pattern and an example of such a pattern can be observed on the eighth trading day. Fortunately, the 4/2 model can fit these different trends by adjusting the coefficients {a,b}. 4.2 Parameterestimation We can take a look at parameter estimation, as similarly seen by the work of Cheng and Escobar-Anel, 2021. Before parameter estimation, we need to mention that the problem of parameter identification on the estimation may happen on coefficients {a,b} in the wealth process (3.5). To avoid this problem, Cheng and Escobar-Anel, 2021 introduce a new parametrization. In general, a mean-reverting process means that the values of a stochastic process tend to move toward a long-term average over time. Since we assume that 22 the volatility of risky asset price follows a mean-reverting process and θ represents the long-term mean volatility. We assume that the initial variance of this risky asset is equal to its long-term mean varianceθ , (i.e.,var 0 = θ ), and we expect that the variance of this risky asset at timeT is also at its long-term value θ whenT is large enough. That is, I E[var ∞ |var 0 =θ ]=θ. Moreover, The expectations of the CIR and inverse-CIR processes given by Yi, 2008 are: I E[v]=θ, I E 1 v = 2κ 2κθ − σ 2 Then we have I E[var ∞ |var 0 =θ ]=a 2 θ +2ab+b 2 2κ 2κθ − σ 2 . The parametrization should satisfy the following: a=cb I E[var ∞ |var 0 =θ ]=θ. To usec andθ to control botha andb, we have: b= r θ c 2 θ +2c+ 2κ 2κθ − σ 2 a=cb. (4.3) paraab paraab Therefore, substitutec into the variance process, and we get var t =c 2 b 2 v t + b 2 v t +2cb 2 . (4.4) varctheta varctheta 23 the variance process reaches the minimum value at the pointv ∗ = b a = 1 c , hence minvar t =4cb 2 = 4cθ c 2 θ +2c+ 2κ 2κθ − σ 2 (4.5) minvar minvar Another point need to be considered is that since we assume that the investor rebalances his portfolio at the end of every trading day regardless of market conditions, he needs to make trading decision before the end of the trading day, leading to information delay. To be precise, letd>0 be a fixed constant standing for the delay parameter. We shall calculate the optimal strategyπ inU d , i.e., such thatπ t ∈F (t− d) +, for allt∈[0,T]. We will show the impact of delay parameterd in our parameter estimation process. After determining the date for which we need to estimate parameters, we extract the minutely values of CVIX Index based on the date. There are seven parameters to be estimated:c,κ ,θ ,σ , ¯λ ,r, andρ . Assume that the time period of trading for that date is T ′ . The first step is to find the minimum of the variance process{var t )}, denoted bym. Notice that we take the square root of volatility for both near-term and next-term options and multiply by 100 to get the CVIX value. Thus, ˆ m= min 0≤ t≤ (T ′ − d) var(v t )= min 0≤ t≤ (T ′ − d) ( CVIX 100 ) 2 . Second, plugm=4cb 2 into the variance processvar(v t )) and we get m 4 (cv t ) 2 + m 2 − var t (cv t )+ m 4 =0. Thus, we can regard the observable variancevar t as a quadratic function ofv t . Applying the formula of roots of a quadratic equation, we can obtain two possible values for the underlying, denoted bycv ± t : cv ± t = var t − m 2 ± r m 2 − var t 2 − m 2 4 ! 2 m . (4.6) tworoots tworoots 24 By applying the formula (4.6) and CVIX values, we can obtain two time series: cv − t and cv + t . In the third step, we use time series of cv − t and cv + t to estimate parameters of the CIR process. We know that our stochastic volatilityv follows a CIR process, then the dynamic ofcv ± follows: d(cv t )=cκθdt − cκv t dt+cσ √ v t dB 1t . Divide by √ cv t on both sides, we get d(cv t ) √ cv t =cκθ dt √ cv t − κ √ cv t dt+ √ cσdB 1t , (4.7) cvCIR cvCIR which is also a CIR process. Letβ 1 := cκθ , β 2 := − κ , andβ 3 := √ cσ . We need to estimate these three coefficients. For that, we consider a discretized version of (4.7), cv t i+1 − cv t i √ cv t i = β 1 √ cv t i ∆ t+β 2 √ cv t i ∆ t+β 3 ∆ B t i (4.8) discrCIR discrCIR where i = 0,1,...,n, ∆ t = T ′ − d n , t i = i∆ t, and ∆ B t i = B t i+1 − B t i . Here, we apply the Ordinary Least Squares (OLSE) method to get approximate estimates. By letting y i = cvt i+1 − cvt i √ cvt i , x 1i = ∆ t √ cvt i , x 2i = √ cv t i ∆ t,err i =β 3 ∆ B t i , the formula (4.8) can be written as y i =β 1 x 1i +β 2 x 2i +err i , which is equivalent toY =Xβ +err. The OLSE ofβ is ˆ β =argmin β ∥Y − Xβ ∥ 2 , 25 where∥·∥ represents Euclidean distance. By Johnson and Wichern, 2007,β 3 = 1 √ ∆ tn ∥Y − Xβ ∥, which is a standardized distance betweenY and the fitted X ˆ β . We extract the error termϵ ′ i = ∆ B t i . The process above produces two sets of coefficients: ˆ β + 1 , ˆ β + 2 , ˆ β + 3 and ˆ β − 1 , ˆ β − 2 , ˆ β − 3 . Next step, to solve the two sets of parameters: ˆ κ + , ˆ θ + ,ˆ σ + ,ˆ c + and ˆ κ − , ˆ θ − ,ˆ σ − ,ˆ c − , we use the following equations: β 1 =cκθ, β 2 =− κ, β 3 = √ cσ, m= 4cθ c 2 θ +2c+ 2κ 2κθ − σ 2 , derive and we can obtain ˆ c= 4 ˆ β 1 h − ˆ β 1 ˆ β 2 +2+ − 2 ˆ β 2 2 ˆ β 1 − ˆ β 3 i (− ˆ β 2 m) , ˆ κ =− ˆ β 2 , ˆ θ = ˆ β 1 − ˆ c ˆ β 2 , ˆ σ = ˆ β 3 √ ˆ c . Now, both parameter sets ˆ κ + , ˆ θ + ,ˆ σ + ,ˆ c + and ˆ κ − , ˆ θ − ,ˆ σ − ,ˆ c − satisfy all required conditions. We need to select a set as the better estimate. Cheng and Escobar-Anel, 2021 provide the following method. Therefore, in the fifth step, we design a selection criterium to choose one of the two parameter sets. The CIR process and the gamma distribution are closely related because the CIR process has a gamma distribution as its stationary distribution, or say,v is asymptotically a gamma random variable with parameters( 2κθ σ 2 , σ 2 2κ ). Also, 1 v is asymptotically an inverse gamma random variable with parameters ( 2κθ σ 2 , 2κ σ 2 ). The first three moments are given: I E[v t ]=θ, I E[ 1 v t ]= 2κ 2κθ − σ 2 , I E[v 2 t ]= θ (2κθ +σ 2 ) 2κ , I E[ 1 v 2 t ]= 4κ 2 (2κθ − σ 2 )(2κθ − 2σ 2 ) , I E[v 3 t ]= θ (2κθ +σ 2 )(2κθ +2σ 2 ) 4κ 2 , I E[ 1 v 3 t ]= 8κ 3 (2κθ − σ 2 )(2κθ − 2σ 2 )(2κθ − 3σ 2 ) , 26 The following is the criterium, denoted byF : F = µ 1 − 1 n+1 n X i=0 var t,i − ˆ m 2 ! 2 + µ 2 − 1 n+1 n X i=0 var t,i − ˆ m 2 2 ! 2 + µ 3 − 1 n+1 n X i=0 var t,i − ˆ m 2 3 ! 2 , (4.9) criterium criterium where µ 1 = I E " ˆ a 2 v t + ˆ b 2 v t # = ˆ a 2 θ + 2κ ˆ b 2 2κθ − σ 2 µ 2 = I E ˆ a 2 v t + ˆ b 2 v t ! 2 = ˆ a 4 θ (2κθ +σ 2 ) 2κ + 4 ˆ b 4 κ 2 (2κθ − σ 2 )(2κθ − 2σ 2 ) +2ˆ a 2 ˆ b 2 , µ 3 = I E ˆ a 2 v t + ˆ b 2 v t ! 3 = I E " ˆ a 6 v 3 t +3ˆ a 4 v 2 t ˆ b 2 v t ! +3ˆ a 2 v t ˆ b 4 v 2 t ! + ˆ b 6 v 3 t # = ˆ a 6 θ (2κθ +σ 2 )(2κθ +2σ 2 ) 4κ 2 + 8 ˆ b 6 κ 3 (2κθ − σ 2 )(2κθ − 2σ 2 )(2κθ − 3σ 2 ) +3ˆ a 4 ˆ b 2 θ + 6ˆ a 2 ˆ b 4 κ 2κθ − σ 2 , Note that the gamma distribution is a continuous probability distributions that is often used to model positive-valued random variables. Thus, two characterized parameters are all positive. Therefore, to ensure that all these moments of inverse gamma distribution are well-defined, the condition 2κθ − 3σ 2 ≥ 0 should be satisfied. We select the set with a lower value of F as the better estimation from ˆ κ + , ˆ θ + ,ˆ σ + ,ˆ c + and ˆ κ − , ˆ θ − ,ˆ σ − ,ˆ c − . In the sixth step, we start to estimate the remaining parameters. We look at minutely closing prices of SSE 50 index and daily Shibor interest rates with overnight maturity starting from February 1st, 2023 and ending on February 27th, 2023: 27 Figure 4.2: Minutely Closing Prices for SSE 50 Index in Feb, 2023 fig:sse50 Figure (4.2) portrays the performance of the stock market in February, 2023. At the beginning of chart, the index is at a relative high level, but on the third trading day, it experiences a sharp decline and reaches a low point on the fourth day. Afterward, the index exhibits a slow upward trend. Further, the index experiences another sharp decline on the twelfth trading day. Combining with the CVIX line chart (4.1), the expectation of market volatility among investors reaches a peak on the fourth trading day, then displays a gradual decline, and begins a new upward trend on the twelfth trading day. These two charts visually highlight the dynamic interplay between market volatility and the stock market performance. We take the corresponding Shibor rate with overnight maturity as the risk-free interest rate r and extract the minutely closing prices as the risky asset pricesS t for SSE 50 Index according to the date we select. The price process of the risky asset evolves according to the 4/2 model (3.1): dS t S t = r+ ¯λ (av t +b) dt+ a √ v t + b √ v t dW t . 28 Figure 4.3: Daily Shibor Interest Rates with Overnight Maturity in Feb, 2023 fig:shibor We consider a discretized version of the stock price process: S t i+1 − S t i S t i =r∆ t+ ¯λ ∆ t(av t i +b)+ a √ v t i + b √ v t i ∆ W t i wherei = 0,1,...,n,∆ t = T ′ − d n ,t i = i∆ t, and∆ W t i = W t i+1 − W t i . Divide a √ v t i + b √ vt i on both sides and we can obtain: S t i+1 − S t i S t i a √ v t i + b √ vt i − r∆ t a √ v t i + b √ vt i = ¯λ ∆ t √ v t i +∆ W t i (4.10) lgforlambda lgforlambda Here, we apply the linear regression analysis to get approximate estimation. By letting y i = S t i+1 − S t i S t i a √ v t i + b √ vt i − r∆ t a √ v t i + b √ vt i , x i = √ v t i ∆ t, ϵ i =∆ W t i , 29 the formula (4.10) can be written asy i = ¯λx i +ϵ i . The last step estimates ρ . Use the residual series from steps three ({ϵ ′ i }) and six ({ϵ i }), we obtain ρ =corr(ϵ ′ i ,ϵ i ). From the process of parameter estimation, we can see that in practice, the time interval∆ t between two raw data points in a time series is determined by the raw data from data provider. Thus, given the fixed trading duration for each trading day, information delay affects the quantity of raw data directly and introduces bias in the estimating process of parameters. 4.3 Impactofinformationdelay Following all steps of parameter estimation, we obtain eight parameters: ˆ a, ˆ b, ˆ κ , ˆ θ , ˆ σ , ˆ r, ˆ ¯λ , and ˆ ρ from the information flow F (T ′ − d) + with information delayd. We set the investment horizon toT =1 month (i.e., February, 2023) and choose the level of risk aversionγ = 0.5. Now, we plug these parameters in the formula (3.8) and obtain the optimal strategyπ ∗ , which is the weight of wealth to the risky asset. Figure (4.4) shows the relationship between optimal strategy and information delay. It is obvious that information delay significantly impacts the efficiency of optimal investment strategies. However, it can be seen that the direction of the optimal allocation proportional changes on a specific trading day is uncertain, as the information delay increases. One possible explanation for this phenomenon is that the data reflects unpredictable and irregular movements of financial markets. Although values of optimal allocation proportions under different information delays sometimes indi- cate an upward trend and sometimes show a downward trend, they all gradually deviate from the values of optimal strategies without information delay. Therefore, we calculate the average of differences between optimal values with information delay and standard optimal values among different trading days, as Fig- ure (4.5) displays. As information delay increases, the line chart demonstrates a noticeable fluctuation, suggesting that delayed information can leads to shifts in wealth allocation strategies. Also, the line chart 30 Figure 4.4: Daily Optimal Strategy with Information Delay in Feb, 2023 fig:dailydelay Figure 4.5: Average Difference between Different information Delay in Feb, 2023 fig:avgdif indicates that optimal allocation proportions tend to deviate from their initial values as the information delay extends, emphasizing the potential risk of relying on outdated data for decision-making. This chart’s 31 finding reinforces the importance of minimizing information delay to achieve more predictable allocation strategy, enhancing overall portfolio performance and risk management. Figure 4.6: Minutely Closing Prices for SSE 50 Index in May, 2023 fig:SSE5 We also provide data from May, 2023 as a comparison. Figure (4.6) displays the performance of SSE 50 Index in May, 2023. Comparing the performance in February, 2023 indicated in Figure (4.2), we ob- serve distinct trends. with May showing a gradual downward trajectory, while February exhibits frequent fluctuations. StatisticalIndices February May Mean 2758.32 2632.05 Variance 668.60 3948.73 Min Value 2703.57 2486.23 Max Value 2822.80 2750.26 Table 4.1: Basic Statistical Indices of SSE 50 Index in Feb and May tab:statidx As Table (4.1) shows, we use some statistical measures to better understand the characteristics of data. The overall price movement in February is relatively moderate, with less deviation from the mean, whereas May exhibits more extreme price movements, leading to greater fluctuations in minutely returns. February has a narrower price range, while May displays a wider range. It seems that investors in February might 32 have experiences a more stable investment environment, whereas investors in May may have faced higher risks and potentially greater rewards. We calculate the CVIX of SSE 50ETF options in May and Figure (4.7) reveals the line chart of results. In Figure 4.7: Minutely CVIX of SSE 50ETF in May, 2023 fig:CVIX5 contrast to the Figure (4.1) shown above, May has a more stable market sentiment, as indicated by lower CVIX readings, while February shows elevated levels of market anxiety, suggesting greater perceived risk among investors. This means investors expect significant market fluctuations and are concerned about potential market downturns in February, and anticipate relatively stable market conditions in May. By applying the data of CVIX and index price in May, 2023, we can compute optimal strategy on a specific trading day and control the quantity of data to obtain optimal allocation proportions with differ- ent information delays, as Figure (4.8) indicates. Due to the distinct performances of SSE 50 in February and May, the corresponding optimal asset allocation proportions also display varying changes. Also, as information delay extends, the direction of changes in optimal wealth allocation proportions becomes uncertain. Since the delayed information may not reflect the current market conditions, it could lead to potentially contradictory signals or unclear trends. 33 Figure 4.8: Daily Optimal Strategy with Information Delay in May, 2023 fig:OptinMay Similar as our operations above, we calculate the average of differences between optimal values with information delay and standard optimal values among different trading days because all values of optimal allocation proportions under different information delays in May, 2023 also gradually deviate from the values of optimal strategies without information delay. Figure (4.9) suggests the result. Figure 4.9: Average Difference between Different information Delay in May, 2023 fig:AvgdifinMay 34 Combining with Figure (4.5), these two sets of data seem to have similar characteristics, both increasing as the information delay expands. Now, we use curve of power functiony = ax b to fit these two sets of data. We also give the coefficients of the corresponding power curves, as Table (4.2) indicates. (a) Fitted Curve of Feb (b) Fitted Curve of May Figure 4.10: Curve of Power Function Fitting fig:Curvefit PowerFunction February May a 1.06e-07 4.92e-06 b 2.73 1.73 Table 4.2: Coefficients of Power Functions tab:coefpower The value of coefficient "b" in the fitted power function curve determines the type of relationship between information delay and average difference From Figure (4.10) and Table (4.2), we can imply that both average differences in February and May indicate positive power relationships. Larger value of "b" in the fitted power function curve of February suggests a steeper and more rapid increase in average difference as information delay increases. This means that the change of optimal strategy in February might be more sensitive to the change of information delay, even if the performance of market is more stable in February. 35 Chapter5 Conclusions We basically studied and evaluated the portfolio optimization problem with the 4/2 model for empirical stock data. We want to find out how the information delay impact our optimal strategy. We provide two groups of data with difference market performances. We summarize that information delay significantly impacts the efficiency of optimal investment strategies. Therefore, we highlight the importance of timely and accurate information in portfolio management. Future research topics: 1. Consider rolling optimal strategies, that is, the calculation of optimal strategies over consecutive periods of time. 2. Assume the investor can allocation an option on the underlying risky asset. 3. Include transaction costs. 4. Consider other types of utility functions. 5. Explore the impact of other types of partial observations. 36 Bibliography Cheng, Y., & Escobar-Anel, M. (2021). Optimal investment strategy in the family of 4/2 stochastic volatility models. Quantitative Finance, 21(10), 1723–1751. https://doi.org/10.1080/14697688.2021.1901971 Drimus & G., G. (2012). Options on realized variance by transform methods: A non-affine stochastic volatility model. Quantitative Finance, 12(11), 1679–1694. https://doi.org/10.1080/14697688.2011.565 Fischer, B., & Myron, S. (1973). The pricing of options and corporate liabilities. The Journal of Political Economy, 81(3), 637–654. https://doi.org/10.1086/260062 Grasselli, M. (2017). The 4/2 stochastic volatility model: A unified approach for the heston and the 3/2 model. Mathematical Finance, 27(4), 1013–1034. https://doi.org/10.1111/mafi.12124 Heston, S. L. (1993). A closed-form solution for options with stochastic volatility with applications to bond and currency options. The Review of Financial Studies, 6(2), 327–343. https://doi.org/10.1093/rfs/6.2.327 Heston, S. L. (1997). A simple new formula for options with stochastic volatility. Johnson, R. A., & Wichern, D. W. (2007).Appliedmultivariatestatisticalanalysis (6thed.) Pearson Prentice Hall. Merton, R. C. (1971). Optimum consumption and portfolio rules in a continuous-time model. Journal of Economic Theory, 3(4), 373–413. https://doi.org/10.1016/0022-0531(71)90038-X Pham, H. (2009). Continuous-time stochastic control and optimization with financial applications (1st ed. 2009.) Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-540-89500-8 Platen, E., & Heath, D. (2006). A benchmark approach to quantitative finance (1st ed. 2006) . Springer Berlin Heidelberg. https://doi.org/10.1007/987-3-540-47856-0 Saporito, Y. F., & Zhang, J. (2019). Stochastic control with delayed information and related nonlinear master equation. SIAM Journal on Control and Optimization, 57(1), 693–717. https://doi.org/10.1137/17M1154746 37 Yi, C. (2008). Three essays on credit risk modeling. http://hdl.handle.net/11375/16787 Zeng, X., & Taksar, M. (2013). A stochastic volatility model and optimal portfolio selection. Quantitative Finance, 13(10), 1547–1558. https://doi.org/10.1080/14697688.2012.740 Zhang, J. (2017). Background stochastic differential equations from linear to fully nonlinear theory (1st ed. 2017.) Spring New York. https://doi.org/10.1007/978-1-4939-7256-2 Zhu, S., & Wang, B. (2018). Unified approach for the affine and non-affine models: An empirical analysis on the s&p 500 volatility dynamics. Computational economics, 53(4), 1421–1442. https://doi.org/10.1007/s10614-018-9815-8 38 Appendices AppendixA.CodingforCVIXindex Python-Code: from d a t e t i m e import d a t e t i m e import numpy as np import pandas as pd from s c i p y . i n t e r p o l a t e import C u b i c S p l i n e s h i b o r _ r a t e = pd . r e a d _ c s v ( ’ / Users / jobun / Downloads / S h i b o r _ D a t a . csv ’ , i n d e x _ c o l = 0 , encoding = ’GBK ’ ) o p t i o n s _ d a t a = pd . r e a d _ c s v ( ’ / Users / jobun / Downloads / Options . csv ’ , i n d e x _ c o l = 0 , encoding = ’GBK ’ ) t r a d e d a y = pd . r e a d _ c s v ( ’ / Users / jobun / Downloads / Tradedaytime . csv ’ , encoding = ’GBK ’ ) def g e t H i s t M i n O p t i o n s ( vixDatetm , o p t i o n s _ d a t a ) : o p t i o n s _ d a t a = o p t i o n s _ d a t a . l o c [ o p t i o n s _ d a t a [ ’ Datetime ’ ]== vixDatetm ] 39 return o p t i o n s _ d a t a def getNearNextOptExpDate ( o p t i o n s , vixDatetm ) : vixDatetm = d a t e t i m e . s t r p t i m e ( vixDatetm , ’%Y−%m−%d ␣ %H:%M:% S ’ ) op ti onsExpDate = list ( pd . S e r i e s ( o p t i o n s . ExeEnddate . v a l u e s . r a v e l ( ) ) . unique ( ) ) op ti onsExpDate = [ d a t e t i m e . s t r p t i m e ( str ( i ) , ’%Y%m%d ’ ) for i in optionsExpDate ] near = min ( optionsExpDate ) op ti onsExpDate . remove ( near ) if ( near . month − vixDatetm . month == 0 ) and ( near . day − vixDatetm . day < 1 ) : near = min ( optionsExpD at e ) optionsExpDate . remove ( near ) nxt = min ( optionsExpDate ) return near , nxt def p e r i o d s S p l i n e R i s k F r e e I n t e r e s t R a t e ( o p t i o n s , d a t e ) : d a t e = d a t e t i m e . s t r p t i m e ( date , ’%Y−%m−%d ␣ %H:%M:% S ’ ) e x p _ d a t e s = np . s o r t ( o p t i o n s . ExeEnddate . unique ( ) ) p e r i o d s = { } for epd in e x p _ d a t e s : epd = pd . t o _ d a t e t i m e ( str ( epd ) ) 40 p e r i o d s [ epd ] = ( epd − d a t e ) . t o t a l _ s e c o n d s ( ) / ( 3 6 5 . 0 ∗ 24 ∗ 60 ∗ 6 0 ) s h i b o r _ d a t e = d a t e t i m e . s t r p t i m e ( s h i b o r _ r a t e . index [ 0 ] , ’%m/% d /%y ’ ) if d a t e >= s h i b o r _ d a t e : d a t e _ s t r = s h i b o r _ r a t e . index [ 0 ] s h i b o r _ v a l u e s = s h i b o r _ r a t e . i l o c [ 0 ] . v a l u e s else : d a t e _ s t r = d a t e . s t r f t i m e ( ’%m/% d /%y ’ ) s h i b o r _ v a l u e s = s h i b o r _ r a t e . l o c [ d a t e _ s t r ] . v a l u e s s h i b o r = { } p e r i o d = np . a s a r r a y ( [ 1 . 0 , 7 . 0 , 1 4 . 0 , 3 0 . 0 , 9 0 . 0 , 1 8 0 . 0 , 2 7 0 . 0 , 3 6 0 . 0 ] ) / 3 6 0 . 0 min_period = min ( p e r i o d ) max_period = max( p e r i o d ) for p in p e r i o d s . keys ( ) : tmp = p e r i o d s [ p ] if p e r i o d s [ p ] > max_period : tmp = max_period ∗ 0 . 9 9 9 9 9 elif p e r i o d s [ p ] < min_period : tmp = min_period ∗ 1 . 0 0 0 0 1 c s = C u b i c S p l i n e ( period , s h i b o r _ v a l u e s ) sh = c s ( tmp ) s h i b o r [ p ] = sh / 100 41 return s h i b o r def g e t S t r i k e M i n C a l l M i n u s P u t C l o s e P r i c e ( o p t i o n s ) : c a l l = o p t i o n s [ o p t i o n s . ExeMode == ’ c a l l ’ ] . s e t _ i n d e x ( ’ E x e P r i c e ’ ) . s o r t _ i n d e x ( ) put = o p t i o n s [ o p t i o n s . ExeMode == ’ put ’ ] . s e t _ i n d e x ( ’ E x e P r i c e ’ ) . s o r t _ i n d e x ( ) c a l l M i n u s P u t = c a l l . Close − put . C l o s e s t r i k e = abs ( c a l l M i n u s P u t ) . idxmin ( ) p r i c e D i f f = c a l l M i n u s P u t [ s t r i k e ] .min ( ) return s t r i k e , p r i c e D i f f def c a l S i g m a S q u a r e ( o p t i o n s , FF , R , T ) : c a l l A l l = o p t i o n s [ o p t i o n s . ExeMode == ’ c a l l ’ ] . s e t _ i n d e x ( ’ E x e P r i c e ’ ) . s o r t _ i n d e x ( ) p u t A l l = o p t i o n s [ o p t i o n s . ExeMode == ’ put ’ ] . s e t _ i n d e x ( ’ E x e P r i c e ’ ) . s o r t _ i n d e x ( ) c a l l A l l [ ’ d e l t a K ’ ] = 0 . 0 5 p u t A l l [ ’ d e l t a K ’ ] = 0 . 0 5 i d x = c a l l A l l . index if len ( i d x ) < 3 : c a l l A l l [ ’ d e l t a ’ ] = i d x [−1] − i d x [ 0 ] else : 42 for i in range ( 1 , len ( i d x ) −1) : c a l l A l l . l o c [ i d x [ i ] , ’ d e l t a K ’ ] = ( i d x [ i +1] − i d x [ i − 1 ] ) / 2 . 0 c a l l A l l . l o c [ i d x [ 0 ] , ’ d e l t a K ’ ] = i d x [ 1 ] − i d x [ 0 ] c a l l A l l . l o c [ i d x [ − 1 ] , ’ d e l t a K ’ ] = i d x [−1] − i d x [−2] i d x = p u t A l l . index if len ( i d x ) < 3 : p u t A l l [ ’ d e l t a ’ ] = i d x [−1] − i d x [ 0 ] else : for i in range ( 1 , len ( i d x ) −1) : p u t A l l . l o c [ i d x [ i ] , ’ d e l t a K ’ ] = ( i d x [ i +1] − i d x [ i − 1 ] ) / 2 . 0 p u t A l l . l o c [ i d x [ 0 ] , ’ d e l t a K ’ ] = i d x [ 1 ] − i d x [ 0 ] p u t A l l . l o c [ i d x [ − 1 ] , ’ d e l t a K ’ ] = i d x [−1] − i d x [−2] c a l l = c a l l A l l [ c a l l A l l . index > FF ] put = p u t A l l [ p u t A l l . index < FF ] F F _ i dx = FF if put . empty : FF _idx = c a l l . index [ 0 ] callComponent = c a l l . C l o s e ∗ c a l l . d e l t a K / c a l l . index / c a l l . index sigma = (sum( callComponent ) ) ∗ np . exp ( T∗ R ) ∗ 2 / T sigma = sigma − ( FF / F F _ i d x − 1 ) ∗∗ 2 / T elif c a l l . empty : FF _idx = put . index [ 0 ] 43 putComponent = put . C l o s e ∗ put . d e l t a K / put . index / put . index sigma = (sum( putComponent ) ) ∗ np . exp ( T∗ R ) ∗ 2 / T sigma = sigma − ( FF / F F _ i d x − 1 ) ∗∗ 2 / T else : FF _idx = put . index [−1] try : if len ( p u t A l l . l o c [ F F _ i d x ] . C l o se . v a l u e s ) > 1 : put . i l o c [−1 , put . columns . g e t _ l o c ( ’ C lo s e ’ ) ] = ( p u t A l l . l o c [ F F_id x ] . C l os e . v a l u e s [ 1 ] + c a l l A l l . l o c [ F F _ i d x ] . Close . v a l u e s [ 0 ] ) / 2 . 0 except : put . i l o c [−1 , put . columns . g e t _ l o c ( ’ C lo s e ’ ) ] = ( p u t A l l . l o c [ FF _idx ] . Close + c a l l A l l . l o c [ F F _ i d x ] . C lo s e ) / 2 . 0 callComponent = c a l l . C l o s e ∗ c a l l . d e l t a K / c a l l . index / c a l l . index putComponent = put . C l o s e ∗ put . d e l t a K / put . index / put . index sigma = (sum( callComponent ) + sum( putComponent ) ) ∗ np . exp ( T ∗ R ) ∗ 2 / T sigma = sigma − ( FF / F F _ i d x − 1 ) ∗∗ 2 / T return sigma def calMinVIX ( vixDatetm ) : o p t i o n s = g e t H i s t M i n O p t i o n s ( vixDatetm , o p t i o n s _ d a t a ) 44 near , n e x t s = getNearNextOptExpDate ( o p t i o n s , vixDatetm ) s h i b o r = p e r i o d s S p l i n e R i s k F r e e I n t e r e s t R a t e ( o p t i o n s , vixDatetm ) R_near = s h i b o r [ d a t e t i m e ( near . year , near . month , near . day ) ] R_next = s h i b o r [ d a t e t i m e ( n e x t s . year , n e x t s . month , n e x t s . day ) ] s t r _ n e a r = near . s t r f t i m e ( ’%Y%m%d ’ ) s t r _ n e x t = n e x t s . s t r f t i m e ( ’%Y%m%d ’ ) optionsNearTerm = o p t i o n s [ o p t i o n s [ ’ ExeEnddate ’ ] . a s t y p e ( str ) == s t r _ n e a r ] optionsNextTerm = o p t i o n s [ o p t i o n s [ ’ ExeEnddate ’ ] . a s t y p e ( str ) == s t r _ n e x t ] vixDatetm = d a t e t i m e . s t r p t i m e ( vixDatetm , ’%Y−%m−%d ␣ %H:%M:% S ’ ) T_near = ( near − vixDatetm ) . t o t a l _ s e c o n d s ( ) / ( 3 6 5 . 0 ∗ 24 ∗ 60 ∗ 6 0 ) T_next = ( n e x t s − vixDatetm ) . t o t a l _ s e c o n d s ( ) / ( 3 6 5 . 0 ∗ 24 ∗ 60 ∗ 6 0 ) n e a r P r i c e D i f f = g e t S t r i k e M i n C a l l M i n u s P u t C l o s e P r i c e ( optionsNearTerm ) n e x t P r i c e D i f f = g e t S t r i k e M i n C a l l M i n u s P u t C l o s e P r i c e ( optionsNextTerm ) near_F = n e a r P r i c e D i f f [ 0 ] + np . exp ( T_near ∗ R_near ) ∗ n e a r P r i c e D i f f [ 1 ] next_F = n e x t P r i c e D i f f [ 0 ] + np . exp ( T_next ∗ R_next ) ∗ n e x t P r i c e D i f f [ 1 ] 45 near_sigma = c a l S i g m a S q u a r e ( optionsNearTerm , near_F , R_near , T_near ) next_sigma = c a l S i g m a S q u a r e ( optionsNextTerm , next_F , R_next , T_next ) w = ( T_next −30.0 / 3 6 5 . 0 ) / ( T_next − T_near ) v i x = T_near ∗ w ∗ near_sigma + T_next ∗ ( 1 − w) ∗ next_sigma return 100 ∗ np . s q r t (abs ( v i x ) ∗ 3 6 5 . 0 / 3 0 . 0 ) c v i x = [ ] for datetm in t r a d e d a y [ ’ Datetime ’ ] : tmp = calMinVIX ( datetm ) print ( datetm , tmp ) c v i x . append ( tmp ) tradeday_new_column = pd . DataFrame ( { ’ c v i x ’ : c v i x } ) t r a d e d a y _ u p d a t e = pd . c o n c a t ( [ tradeday , tradeday_new_column ] , a x i s = 1 ) t r a d e d a y _ u p d a t e . t o _ c s v ( ’ / Users / jobun / Downloads / Tradedaytime . csv ’ , index = F a l s e ) print ( ’ Data ␣ has ␣ been ␣ added ␣ as ␣ a ␣ new ␣ column ␣ t o ’ , ’ / Users / jobun / Downloads / Tradedaytime . csv ’ ) 46 AppendixB.Codingforparameterestimation Python-Code: from d a t e t i m e import datetime , t i m e d e l t a from s c i p y . o p t i m i z e import minimize import numpy as np import pandas as pd import math import s t a t s m o d e l s . a p i as sm import s c i p y . s t a t s as s t a t s import csv s h i b o r _ r a t e = pd . r e a d _ c s v ( ’ / Users / jobun / Downloads / S h i b o r _ D a t a . csv ’ , i n d e x _ c o l = 0 , encoding = ’GBK ’ ) c v i x = pd . r e a d _ c s v ( ’ / Users / jobun / Downloads / Tradedaytime . csv ’ , i n d e x _ c o l = 0 , encoding = ’GBK ’ ) s t o c k p r i c e = pd . r e a d _ c s v ( ’ / Users / jobun / Downloads / S t o c k p r i c e . csv ’ , i n d e x _ c o l = 0 , encoding = ’GBK ’ ) t r a d e d a y = pd . r e a d _ c s v ( ’ / Users / jobun / Downloads / Tradeday . csv ’ , encoding = ’GBK ’ ) c v i x . index = pd . t o _ d a t e t i m e ( c v i x . index ) s t o c k p r i c e . index = pd . t o _ d a t e t i m e ( s t o c k p r i c e . index ) def c a l C o e f o f C I R ( date , n ) : 47 d a t e = pd . t o _ d a t e t i m e ( d a t e ) date_end = d a t e + t i m e d e l t a ( hours = n ) d a i l y _ s v = c v i x . l o c [ d a t e : date_end ] . s o r t _ i n d e x ( ) d a i l y _ s v [ ’ c v i x ’ ] = d a i l y _ s v [ ’ c v i x ’ ] / 100 d a i l y _ s v [ ’ var ’ ] = d a i l y _ s v [ ’ c v i x ’ ] ∗∗ 2 m i n _ d a i l y _ v a r = min ( d a i l y _ s v [ ’ var ’ ] ) i d x = d a i l y _ s v . index num_steps = len ( i d x ) d t = 1 / 60 tmp1_0 = d a i l y _ s v . l o c [ i d x [ 0 ] , ’ var ’ ] − m i n _ d a i l y _ v a r / 2 tmp2_0 = m i n _ d a i l y _ v a r ∗∗ 2 / 4 d a i l y _ s v . l o c [ i d x [ 0 ] , ’ s v _ p l u s ’ ] = ( tmp1_0 + math . s q r t ( tmp1_0 ∗∗ 2 − tmp2_0 ) ) ∗ 2 / m i n _ d a i l y _ v a r d a i l y _ s v . l o c [ i d x [ 0 ] , ’ y _ p l u s ’ ] = math . s q r t ( d a i l y _ s v . l o c [ i d x [ 0 ] , ’ s v _ p l u s ’ ] ) d a i l y _ s v . l o c [ i d x [ 0 ] , ’ x 1 _ p l u s ’ ] = d t / d a i l y _ s v . l o c [ i d x [ 0 ] , ’ y _ p l u s ’ ] d a i l y _ s v . l o c [ i d x [ 0 ] , ’ x 2 _ p l u s ’ ] = d t ∗ d a i l y _ s v . l o c [ i d x [ 0 ] , ’ y _ p l u s ’ ] d a i l y _ s v . l o c [ i d x [ 0 ] , ’ sv_minus ’ ] = ( tmp1_0 − math . s q r t ( tmp1_0 ∗∗ 2 − tmp2_0 ) ) ∗ 2 / m i n _ d a i l y _ v a r d a i l y _ s v . l o c [ i d x [ 0 ] , ’ y_minus ’ ] = math . s q r t ( d a i l y _ s v . l o c [ i d x [ 0 ] , ’ sv_minus ’ ] ) d a i l y _ s v . l o c [ i d x [ 0 ] , ’ x1_minus ’ ] = d a i l y _ s v . l o c [ i d x [ 0 ] , ’ y_minus ’ ] 48 d a i l y _ s v . l o c [ i d x [ 0 ] , ’ x2_minus ’ ] = d a i l y _ s v . l o c [ i d x [ 0 ] , ’ y_minus ’ ] for i in range ( 1 , num_steps ) : tmp1 = d a i l y _ s v . l o c [ i d x [ i ] , ’ var ’ ] − m i n _ d a i l y _ v a r / 2 tmp2 = m i n _ d a i l y _ v a r ∗∗ 2 / 4 d a i l y _ s v . l o c [ i d x [ i ] , ’ s v _ p l u s ’ ] = ( tmp1 + math . s q r t ( tmp1 ∗∗ 2 − tmp2 ) ) ∗ 2 / m i n _ d a i l y _ v a r tmp_plus = math . s q r t ( d a i l y _ s v . l o c [ i d x [ i − 1 ] , ’ s v _ p l u s ’ ] ) d a i l y _ s v . l o c [ i d x [ i ] , ’ y _ p l u s ’ ] = ( d a i l y _ s v . l o c [ i d x [ i ] , ’ s v _ p l u s ’ ] − d a i l y _ s v . l o c [ i d x [ i − 1 ] , ’ s v _ p l u s ’ ] ) / tmp_plus d a i l y _ s v . l o c [ i d x [ i ] , ’ x 1 _ p l u s ’ ] = d t / tmp_plus d a i l y _ s v . l o c [ i d x [ i ] , ’ x 2 _ p l u s ’ ] = d t ∗ tmp_plus d a i l y _ s v . l o c [ i d x [ i ] , ’ sv_minus ’ ] = ( tmp1 − math . s q r t ( tmp1 ∗∗ 2 − tmp2 ) ) ∗ 2 / m i n _ d a i l y _ v a r tmp_minus = math . s q r t ( d a i l y _ s v . l o c [ i d x [ i − 1 ] , ’ sv_minus ’ ] ) d a i l y _ s v . l o c [ i d x [ i ] , ’ y_minus ’ ] = ( d a i l y _ s v . l o c [ i d x [ i ] , ’ sv_minus ’ ] − d a i l y _ s v . l o c [ i d x [ i − 1 ] , ’ sv_minus ’ ] ) / tmp_minus d a i l y _ s v . l o c [ i d x [ i ] , ’ x1_minus ’ ] = d t / tmp_minus d a i l y _ s v . l o c [ i d x [ i ] , ’ x2_minus ’ ] = d t ∗ tmp_minus X_plus = d a i l y _ s v [ [ ’ x 1 _ p l u s ’ , ’ x 2 _ p l u s ’ ] ] Y_plus = d a i l y _ s v [ ’ y _ p l u s ’ ] model_plus = lambda b_plus , X_plus : b _ p l u s [ 0 ] ∗ X_plus [ ’ x 1 _ p l u s ’ ] + b _ p l u s [ 1 ] ∗ X_plus [ ’ x 2 _ p l u s ’ ] o b j _ p l u s = lambda b_plus , Y_plus , X_plus : np .sum( np .abs ( Y_plus − model_plus ( b_plus , X_plus ) ) ∗∗ 2 ) 49 bnds = [ ( 0 , None ) , ( None , 0 ) ] x i n i t = np . a r r a y ( [ 1 , −1]) r e s _ p l u s = minimize ( o b j _ p l u s , a r g s =( Y_plus , X_plus ) , x0= x i n i t , bounds=bnds ) c o e f _ p l u s = { } c o e f _ p l u s [ ’ b e t a 1 ’ ] = r e s _ p l u s . x [ 0 ] c o e f _ p l u s [ ’ b e t a 2 ’ ] = r e s _ p l u s . x [ 1 ] c o e f _ p l u s [ ’ b e t a 3 ’ ] = ( 1 / math . s q r t ( d t ∗ num_steps ) ) ∗ math . s q r t ( r e s _ p l u s . fun ) # coef_plus [ ’ cvix ’] = daily_sv . loc [ idx [ −1] , ’ cvix ’] d i f f _ p l u s = Y_plus − ( c o e f _ p l u s [ ’ b e t a 1 ’ ] ∗ X_plus [ ’ x 1 _ p l u s ’ ] + c o e f _ p l u s [ ’ b e t a 2 ’ ] ∗ X_plus [ ’ x 2 _ p l u s ’ ] ) d a i l y _ s v [ ’ Z_plus ’ ] = d i f f _ p l u s / c o e f _ p l u s [ ’ b e t a 3 ’ ] X_minus = d a i l y _ s v [ [ ’ x1_minus ’ , ’ x2_minus ’ ] ] Y_minus = d a i l y _ s v [ ’ y_minus ’ ] model_minus = lambda b_minus , X_minus : b_minus [ 0 ] ∗ X_minus [ ’ x1_minus ’ ] + b_minus [ 1 ] ∗ X_minus [ ’ x2_minus ’ ] obj_minus = lambda b_minus , Y_minus , X_minus : np .sum( np .abs ( Y_minus − model_minus ( b_minus , X_minus ) ) ∗∗ 2 ) res_minus = minimize ( obj_minus , a r g s =( Y_minus , X_minus ) , x0= x i n i t , bounds=bnds ) coef_minus = { } coef_minus [ ’ b e t a 1 ’ ] = res_minus . x [ 0 ] coef_minus [ ’ b e t a 2 ’ ] = res_minus . x [ 1 ] 50 coef_minus [ ’ b e t a 3 ’ ] = ( 1 / math . s q r t ( d t ∗ num_steps ) ) ∗ math . s q r t ( res_minus . fun ) d i f f _ m i n u s = Y_minus − ( coef_minus [ ’ b e t a 1 ’ ] ∗ X_minus [ ’ x1_minus ’ ] + coef_minus [ ’ b e t a 2 ’ ] ∗ X_minus [ ’ x2_minus ’ ] ) d a i l y _ s v [ ’ Z_minus ’ ] = d i f f _ m i n u s / coef_minus [ ’ b e t a 3 ’ ] return c o e f _ p l u s , coef_minus , d a i l y _ s v , m i n _ d a i l y _ v a r def c a l C o e f o f V o l G p ( coef , M) : b e t a 1 = c o e f [ ’ b e t a 1 ’ ] b e t a 2 = c o e f [ ’ b e t a 2 ’ ] b e t a 3 = c o e f [ ’ b e t a 3 ’ ] if b e t a 2 == 0 : return ’ none ’ else : tmp1 = − b e t a 1 / b e t a 2 tmp2 = (−2∗ b e t a 2 ) / ( 2∗ beta1− b e t a 3 ∗∗ 2 ) tmp3 = − b e t a 2 ∗ M c o e f _ v o l = { } c o e f _ v o l [ ’ c o e f _ c ’ ] = 4 ∗ b e t a 1 / ( ( tmp1 + 2 + tmp2 ) ∗ tmp3 ) c o e f _ v o l [ ’ kappa ’ ] = − b e t a 2 c o e f _ v o l [ ’ t h e t a ’ ] = − b e t a 1 / ( c o e f _ v o l [ ’ c o e f _ c ’ ] ∗ b e t a 2 ) c o e f _ v o l [ ’ sigma ’ ] = b e t a 3 / math . s q r t ( c o e f _ v o l [ ’ c o e f _ c ’ ] ) return c o e f _ v o l 51 def Gammadefine ( c o e f _ v o l ) : if c o e f _ v o l == ’ none ’ : return ’ none ’ else : kappa = c o e f _ v o l [ ’ kappa ’ ] t h e t a = c o e f _ v o l [ ’ t h e t a ’ ] sigma = c o e f _ v o l [ ’ sigma ’ ] v a r i a b l e 1 = 2 ∗ kappa ∗ t h e t a v a r i a b l e 2 = 3 ∗ sigma ∗∗ 2 if v a r i a b l e 1 >= v a r i a b l e 2 : return c o e f _ v o l else : return ’ none ’ def c a l S e l e c t i o n C r i t e r i u m (M, c o e f _ v o l , d a i l y _ s v ) : c o e f _ c = c o e f _ v o l [ ’ c o e f _ c ’ ] kappa = c o e f _ v o l [ ’ kappa ’ ] t h e t a = c o e f _ v o l [ ’ t h e t a ’ ] sigma = c o e f _ v o l [ ’ sigma ’ ] c o e f _ b = math . s q r t (M / ( 4 ∗ c o e f _ c ) ) c o e f _ a = c o e f _ b ∗ c o e f _ c tmp0 = c o e f _ a ∗∗ 2 tmp1 = 2 ∗ kappa ∗ ( c o e f _ b ∗∗ 2 ) tmp2 = 2 ∗ kappa ∗ t h e t a 52 tmp3 = sigma ∗∗ 2 mu1 = tmp0 ∗ t h e t a + tmp1 / ( tmp2 − tmp3 ) mu2_1 = 2 ∗ t h e t a ∗ ( tmp0 ∗∗ 2 ) ∗ ( tmp2 +tmp3 ) / ( 4 ∗ kappa ) mu2_2 = ( tmp1 ∗∗ 2 ) / ( ( tmp2 − tmp3 ) ∗ ( tmp2 − 2 ∗ tmp3 ) ) mu2_3 = 2 ∗ tmp0 ∗ ( c o e f _ b ∗∗ 2 ) mu2 = mu2_1 + mu2_2 + mu2_3 mu3_1 = ( tmp0 ∗∗ 3 ) ∗ tmp2 ∗ ( tmp2 + tmp3 ) ∗ ( tmp2 + 2 ∗ tmp3 ) / ( 8 ∗ kappa ∗∗ 3 ) mu3_2 = ( tmp1 ∗∗ 3 ) / ( ( tmp2 − tmp3 ) ∗ ( tmp2 − 2 ∗ tmp3 ) ∗ ( tmp2 − 3 ∗ tmp3 ) ) mu3_3 = 3 ∗ ( tmp0 ∗∗ 2 ) ∗ ( c o e f _ b ∗∗ 2 ) ∗ t h e t a mu3_4 = ( 3 ∗ tmp0 ∗ tmp1 ∗ ( c o e f _ b ∗∗ 2 ) ) / ( tmp2 − tmp3 ) mu3 = mu3_1 + mu3_2 + mu3_3 + mu3_4 i d x = d a i l y _ s v . index num_steps = len ( i d x ) sum1 = 0 sum2 = 0 sum3 = 0 for i in range ( num_steps ) : d i f 1 = d a i l y _ s v . l o c [ i d x [ i ] , ’ var ’ ] − (M / 2 ) d i f 2 = d i f 1 ∗∗ 2 d i f 3 = d i f 1 ∗∗ 3 sum1 = sum1 + d i f 1 53 sum2 = sum2 + d i f 2 sum3 = sum3 + d i f 3 F_1 = mu1 − sum1 / num_steps F_2 = mu2 − sum2 / num_steps F_3 = mu3 − sum3 / num_steps F = F_1 ∗∗ 2 + F_2 ∗∗ 2 + F_3 ∗∗ 2 return F def c a l C o e f o f D r i f t G p ( d a i l y _ s v , date , n , c o e f _ v o l ) : r = s h i b o r _ r a t e . l o c [ date , ’O/N ’ ] d a t e = pd . t o _ d a t e t i m e ( d a t e ) date_end = d a t e + t i m e d e l t a ( hours = n ) d a i l y _ p r i c e = s t o c k p r i c e . l o c [ d a t e : date_end ] . s o r t _ i n d e x ( ) d t = 1 / 60 i d x = d a i l y _ p r i c e . index l e n g t h = len ( i d x ) for i in range ( length −1) : c v i x = d a i l y _ s v . l o c [ i d x [ i ] , ’ c v i x ’ ] r _ s t o c k = ( d a i l y _ p r i c e . l o c [ i d x [ i + 1 ] , ’ c l o s e ’ ] − d a i l y _ p r i c e . l o c [ i d x [ i ] , ’ c l o s e ’ ] ) / d a i l y _ p r i c e . l o c [ i d x [ i ] , ’ c l o s e ’ ] r _ f r e e = r / ( 3 6 5 ∗ 24 ∗ 60 ∗ 1 0 0 ) d a i l y _ p r i c e . l o c [ i d x [ i ] , ’ y ’ ] = ( r _ s t o c k − r _ f r e e ) / c v i x 54 csv = d a i l y _ s v . l o c [ i d x [ i ] , ’ sv ’ ] s v _ s q r t = math . s q r t ( csv / c o e f _ v o l [ ’ c o e f _ c ’ ] ) d a i l y _ p r i c e . l o c [ i d x [ i ] , ’ x ’ ] = s v _ s q r t ∗ d t d a i l y _ p r i c e . l o c [ i d x [ i ] , ’ e r r o r 1 ’ ] = d a i l y _ s v . l o c [ i d x [ i + 1 ] , ’Z ’ ] − d a i l y _ s v . l o c [ i d x [ i ] , ’Z ’ ] Y = d a i l y _ p r i c e . l o c [ i d x [ 0 ] : i d x [ length − 2 ] , ’ y ’ ] X = d a i l y _ p r i c e . l o c [ i d x [ 0 ] : i d x [ le ngth − 2 ] , ’ x ’ ] model = sm . OLS ( Y , X) r e s u l t s = model . f i t ( ) c o e f _ d r f = { } c o e f _ d r f [ ’ r i s k _ f r e e ’ ] = r / ( 3 6 5 ∗ 1 0 0 ) c o e f _ d r f [ ’ lambda_bar ’ ] = r e s u l t s . params . x d a i l y _ p r i c e [ ’ e r r o r 2 ’ ] = d a i l y _ p r i c e [ ’ y ’ ] − c o e f _ d r f [ ’ lambda_bar ’ ] ∗ d a i l y _ p r i c e [ ’ x ’ ] e r r o r 1 = d a i l y _ p r i c e . l o c [ i d x [ 0 ] : i d x [ length − 2 ] , ’ e r r o r 1 ’ ] e r r o r 2 = d a i l y _ p r i c e . l o c [ i d x [ 0 ] : i d x [ length − 2 ] , ’ e r r o r 2 ’ ] cor_mtx = np . c o r r c o e f ( e r r o r 1 , e r r o r 2 ) c o e f _ d r f [ ’ pho ’ ] = cor_mtx [ 0 , 1 ] c o e f _ d r f [ ’ cv ’ ] = d a i l y _ s v . l o c [ i d x [ − 1 ] , ’ sv ’ ] return c o e f _ d r f def getParams ( date , n ) : 55 c o e f _ p l u s , coef_minus , d a i l y _ s v , m i n _ d a i l y _ v a r = c a l C o e f o f C I R ( date , n ) c o e f _ v o l _ p l u s = c a l C o e f o f V o l G p ( c o e f _ p l u s , m i n _ d a i l y _ v a r ) c o e f _ v o l _ m i n u s = c a l C o e f o f V o l G p ( coef_minus , m i n _ d a i l y _ v a r ) p l u s _ d e f = Gammadefine ( c o e f _ v o l _ p l u s ) minus_def = Gammadefine ( c o e f _ v o l _ m i n u s ) if ( p l u s _ d e f == ’ none ’ ) and ( minus_def == ’ none ’ ) : c o e f = ’ no ␣ r e b a l a n c e ’ return c o e f elif ( p l u s _ d e f == ’ none ’ ) and ( minus_def != ’ none ’ ) : c o e f _ v o l = c o e f _ v o l _ m i n u s d a i l y _ s v [ ’ sv ’ ] = d a i l y _ s v [ ’ sv_minus ’ ] d a i l y _ s v [ ’Z ’ ] = d a i l y _ s v [ ’ Z_minus ’ ] elif ( minus_def == ’ none ’ ) and ( p l u s _ d e f != ’ none ’ ) : c o e f _ v o l = c o e f _ v o l _ p l u s d a i l y _ s v [ ’ sv ’ ] = d a i l y _ s v [ ’ s v _ p l u s ’ ] d a i l y _ s v [ ’Z ’ ] = d a i l y _ s v [ ’ Z_plus ’ ] else : F _ p l u s = c a l S e l e c t i o n C r i t e r i u m ( m i n _ d a i l y _ v a r , c o e f _ v o l _ p l u s , d a i l y _ s v ) F_minus = c a l S e l e c t i o n C r i t e r i u m ( m i n _ d a i l y _ v a r , coef_vol_minus , d a i l y _ s v ) d i f f = F _ p l u s − F_minus 56 if d i f f >= 0 : c o e f _ v o l = c o e f _ v o l _ m i n u s d a i l y _ s v [ ’ sv ’ ] = d a i l y _ s v [ ’ sv_minus ’ ] d a i l y _ s v [ ’Z ’ ] = d a i l y _ s v [ ’ Z_minus ’ ] else : c o e f _ v o l = c o e f _ v o l _ p l u s d a i l y _ s v [ ’ sv ’ ] = d a i l y _ s v [ ’ s v _ p l u s ’ ] d a i l y _ s v [ ’Z ’ ] = d a i l y _ s v [ ’ Z_plus ’ ] c o e f _ d r f = c a l C o e f o f D r i f t G p ( d a i l y _ s v , date , n , c o e f _ v o l ) c o e f = { } c o e f . update ( c o e f _ v o l ) c o e f . update ( c o e f _ d r f ) return c o e f d e l a y = [ 0 , 2 , 4 , 6 , 8 , 1 0 , 1 2 , 1 4 , 1 6 , 1 8 , 2 0 , 2 2 , 2 4 , 2 6 , 2 8 , 3 0 , 3 2 , 3 4 , 3 6 , 3 8 , 4 0 , 4 2 , 4 4 , 4 6 , 4 8 , 5 0 ] for d in d e l a y : n = 15 − ( d / 6 0 ) d a t a = { } for day in t r a d e d a y [ ’ Date ’ ] : c o e f = getParams ( day , n ) # print (day) # print ( coef ) 57 if c o e f != ’ no ␣ r e b a l a n c e ’ : d a t a [ day ] = c o e f c s v _ f i l e _ p a t h = ’ / Users / jobun / Downloads / c o e f _ ’ +str ( d ) + ’ d e l a y . csv ’ with open ( c s v _ f i l e _ p a t h , ’w ’ , newline = ’ ’ ) as c s v _ f i l e : f i e l d n a m e s = [ ’ Date ’ , ’ c o e f _ c ’ , ’ kappa ’ , ’ t h e t a ’ , ’ sigma ’ , ’ r i s k _ f r e e ’ , ’ lambda_bar ’ , ’ pho ’ , ’ cv ’ ] w r i t e r = csv . D i c t W r i t e r ( c s v _ f i l e , f i e l d n a m e s = f i e l d n a m e s ) w r i t e r . w r i t e h e a d e r ( ) for date , v a l u e s in d a t a . i t e m s ( ) : row = { ’ Date ’ : date , ∗∗ v a l u e s } w r i t e r . writerow ( row ) AppendixC.Codingforoptimalstrategy Python-Code: from d a t e t i m e import d a t e t i m e import numpy as np import pandas as pd import math import csv t i m e _ r e = pd . r e a d _ c s v ( ’ / Users / jobun / Downloads / t i m e _ r e m a i n i n g . csv ’ , i n d e x _ c o l = 0 , encoding = ’GBK ’ ) 58 c o e f _ 0 d e l a y = pd . r e a d _ c s v ( ’ / Users / jobun / Downloads / c o e f _ 0 d e l a y . csv ’ , i n d e x _ c o l = 0 , encoding = ’GBK ’ ) def calAuxPara ( date , gamma , c o e f _ ) : c o e f = c o e f _ . l o c [ d a t e ] c = c o e f [ ’ c o e f _ c ’ ] kappa = c o e f [ ’ kappa ’ ] t h e t a = c o e f [ ’ t h e t a ’ ] sigma = c o e f [ ’ sigma ’ ] rho = c o e f [ ’ rho ’ ] r = c o e f [ ’ r i s k _ f r e e ’ ] b_deno = ( ( c ∗∗ 2 ) ∗ t h e t a ) + ( 2 ∗ c ) + ( ( 2 ∗ kappa ) / ( 2∗ kappa∗ t h e t a − sigma ∗∗ 2 ) ) b = math . s q r t ( t h e t a / b_deno ) a = c ∗ b lambda_bar = c o e f [ ’ lambda_bar ’ ] k0 = ( gamma ∗ ( lambda_bar ∗∗ 2 ) ) / ( 1 − gamma ) k1_tmp = lambda_bar ∗ ( ( gamma ∗ sigma ∗ rho ) / ( 1 − gamma ) ) k1 = kappa − k1_tmp k2_tmp = ( gamma ∗ ( sigma ∗∗ 2 ) ∗ ( rho ∗∗ 2 ) ) / ( 1 − gamma ) k2 = sigma ∗∗ 2 + k2_tmp k3 = math . s q r t ( k1∗∗ 2 − ( k0 ∗ k2 ) ) cv = c o e f [ ’ cv ’ ] v = cv / c 59 return k0 , k1 , k2 , k3 , t h e t a , kappa , r , v , sigma , rho , lambda_bar , a , b def c a l B ( k0 , k1 , k2 , k3 , t ) : if ( k3 ∗ t ) > 8 8 : B = k0 / ( k1 + k3 ) else : B_tmp = np . exp ( k3 ∗ t ) B = ( k0 ∗ B_tmp ) / ( ( 2∗ k3 ) + ( k1+k3 ) ∗ B_tmp ) return B def calA ( k1 , k2 , k3 , t , t h e t a , kappa , r ) : avgk1k3 = ( k1 + k3 ) / 2 A_1 = gamma ∗ r ∗ t A_2 = ( 2 ∗ t h e t a ∗ kappa ) / k2 if ( ( avgk1k3 ∗ t ) > 8 8 ) and ( ( k3 ∗ t ) > 8 8 ) : A_tmp = ( ( 2 ∗ k3 ) / ( k1 + k3 ) ) ∗ np . exp ( ( k1−k3 ) ∗ t / 2 ) else : A_tmp = ( 2 ∗ k3 ∗ np . exp ( avgk1k3 ∗ t ) ) / ( ( 2 ∗ k3 ) + ( k1 + k3 ) ∗ ( np . exp ( k3 ∗ t ) − 1 ) ) A = A_1 + A_2 ∗ np . l o g ( A_tmp ) return A def c a l P i ( a , b , v , sigma , rho , B , gamma ) : f a c t o r = v / ( a ∗ v + b ) 60 pi_tmp1 = ( sigma ∗ rho ∗ B ) / ( 1 − gamma ) pi_tmp2 = lambda_bar / ( 1 − gamma ) p i = f a c t o r ∗ ( pi_tmp1 + pi_tmp2 ) return p i def c a l V a l u e ( gamma , A , B , v , x ) : u t i l i t y = ( x ∗∗ gamma ) / gamma J = u t i l i t y ∗ np . exp (A + B ∗ v ) return J gamma = 0 . 5 x = 1 d e l a y = [ 0 , 2 , 4 , 6 , 8 , 1 0 , 1 2 , 1 4 , 1 6 , 1 8 , 2 0 , 2 2 , 2 4 , 2 6 , 2 8 , 3 0 , 3 2 , 3 4 , 3 6 , 3 8 , 4 0 , 4 2 , 4 4 , 4 6 , 4 8 , 5 0 ] d a t a = { } for d a t e in t i m e _ r e . index : t = t i m e _ r e . l o c [ date , ’ tau ’ ] d i c = { } for d in d e l a y : de = { } path = ’ / Users / jobun / Downloads / c o e f _ ’ + str ( d ) + ’ d e l a y . csv ’ co_d = pd . r e a d _ c s v ( path , i n d e x _ c o l = 0 , encoding = ’GBK ’ ) 61 k0 , k1 , k2 , k3 , t h e t a , kappa , r , v , sigma , rho , lambda_bar , a , b = calAuxPara ( date , gamma , co_d ) B_value = c a l B ( k0 , k1 , k2 , k3 , t ) A = calA ( k1 , k2 , k3 , t , t h e t a , kappa , r ) p i = c a l P i ( a , b , v , sigma , rho , B , gamma ) v a l u e f u n c = c a l V a l u e ( gamma , A , B_value , v , x ) de [ ’ P i ’ ] = p i de [ ’ Value ’ ] = v a l u e f u n c d i c [ d ] = de c s v _ f i l e _ p a t h = ’ / Users / jobun / Downloads / 2 0 2 3 0 2 ’ + d a t e [ 3 : 5 ] + ’ . csv ’ with open ( c s v _ f i l e _ p a t h , ’w ’ , newline = ’ ’ ) as c s v _ f i l e : f i e l d n a m e s = [ ’ d e l a y ’ , ’ P i ’ , ’ Value ’ ] w r i t e r = csv . D i c t W r i t e r ( c s v _ f i l e , f i e l d n a m e s = f i e l d n a m e s ) w r i t e r . w r i t e h e a d e r ( ) for d , v a l u e s in d i c . i t e m s ( ) : row = { ’ d e l a y ’ : d , ∗∗ v a l u e s } w r i t e r . writerow ( row ) AppendixD.Codingforpowerfunctionfittingmodels Python-Code: import numpy as np 62 import m a t p l o t l i b . p y p l o t as p l t from s c i p y . o p t i m i z e import c u r v e _ f i t d e l a y = np . a r r a y ( [ 0 , 2 , 4 , 6 , 8 , 1 0 , 1 2 , 1 4 , 1 6 , 1 8 , 2 0 , 2 2 , 2 4 , 2 6 , 2 8 , 3 0 , 3 2 , 3 4 , 3 6 , 3 8 , 4 0 , 4 2 , 4 4 , 4 6 , 4 8 , 5 0 ] ) a v g _ d i f _ F e b = np . a r r a y ( [ 0 , 7 . 2 4 8 9 1 E−05 , 7 . 5 8 5 5 4 E−05 , 0 . 0 0 0 1 1 2 7 6 5 , 0 . 0 0 0 1 8 5 2 8 4 , 0 . 0 0 0 1 9 7 2 4 5 , 0 . 0 0 0 2 9 8 5 1 9 , 0 . 0 0 0 5 8 1 2 6 8 , 0 . 0 0 0 7 7 6 7 4 , 0 . 0 0 1 1 7 2 9 4 , 0 . 0 0 1 1 4 0 0 5 1 , 0 . 0 0 0 8 4 6 5 1 8 , 0 . 0 0 0 6 4 9 9 5 7 , 0 . 0 0 0 8 4 4 4 9 3 , 0 . 0 0 0 7 6 5 1 6 3 , 0 . 0 0 0 9 7 6 8 1 7 , 0 . 0 0 1 5 1 7 7 7 2 , 0 . 0 0 1 2 1 5 9 9 7 , 0 . 0 0 1 5 2 6 7 3 , 0 . 0 0 1 9 5 2 4 6 3 , 0 . 0 0 2 8 0 5 5 8 , 0 . 0 0 2 4 7 4 8 3 4 , 0 . 0 0 2 9 2 6 0 6 1 , 0 . 0 0 3 8 2 2 6 1 , 0 . 0 0 4 7 2 0 7 2 1 , 0 . 0 0 4 9 0 3 5 0 4 ] ) avg_dif_May = np . a r r a y ( [ 0 , 8 . 0 9 0 0 3 E−05 , 0 . 0 0 0 1 4 4 7 0 4 , 0 . 0 0 0 1 1 7 0 6 , 0 . 0 0 0 1 7 8 0 4 9 , 0 . 0 0 0 2 1 1 7 3 5 , 0 . 0 0 0 3 5 6 5 8 4 , 0 . 0 0 0 6 4 9 9 8 , 0 . 0 0 0 6 2 9 0 1 8 , 0 . 0 0 0 8 6 1 7 3 , 0 . 0 0 0 8 7 1 8 6 6 , 0 . 0 0 1 0 0 2 0 1 8 , 0 . 0 0 1 2 7 6 0 1 3 , 0 . 0 0 1 2 5 1 1 5 3 , 0 . 0 0 1 4 4 5 8 5 , 0 . 0 0 2 0 3 3 9 1 4 , 0 . 0 0 2 4 5 7 8 3 4 , 0 . 0 0 2 4 5 8 2 3 1 , 0 . 0 0 2 7 4 6 3 2 7 , 0 . 0 0 3 2 1 4 6 4 1 , 0 . 0 0 2 3 4 0 1 7 , 0 . 0 0 1 9 7 5 1 0 1 , 0 . 0 0 2 5 2 9 4 7 7 , 0 . 0 0 3 0 7 0 6 3 6 , 0 . 0 0 4 5 9 2 5 8 3 , 0 . 0 0 5 3 5 3 1 0 9 ] ) def power_func ( x , a , b ) : return a ∗ x∗∗ b 63 popt_power , _ = c u r v e _ f i t ( power_func , delay , a v g _ d i f _ F e b , p0 = [ 1 , 1 ] ) x _ f i t = np . l i n s p a c e (min ( d e l a y ) , max( d e l a y ) , 1 0 0 ) y _ f i t _ p o w e r = power_func ( x _ f i t , ∗ popt_power ) p l t . s c a t t e r ( delay , a v g _ d i f _ F e b , l a b e l = ’ Data ’ ) p l t . p l o t ( x _ f i t , y_fi t_powe r , l a b e l = ’ Power ’ ) p l t . l e g e n d ( ) p l t . x l a b e l ( ’ Delay ’ ) p l t . y l a b e l ( ’ Average ␣ D i f f e r e n c e ’ ) p l t . show ( ) a_Feb , b_Feb = popt_power print ( " C o e f f i c i e n t s ␣ o f ␣ the ␣ Power ␣ Curve : " ) print ( " a ␣ = " , a_Feb ) print ( " b ␣ = " , b_Feb ) popt_power , _ = c u r v e _ f i t ( power_func , delay , avg_dif_May , p0 = [ 1 , 1 ] ) x _ f i t = np . l i n s p a c e (min ( d e l a y ) , max( d e l a y ) , 1 0 0 ) y _ f i t _ p o w e r = power_func ( x _ f i t , ∗ popt_power ) p l t . s c a t t e r ( delay , avg_dif_May , l a b e l = ’ Data ’ ) p l t . p l o t ( x _ f i t , y_fi t_powe r , l a b e l = ’ Power ’ ) p l t . l e g e n d ( ) p l t . x l a b e l ( ’ Delay ’ ) p l t . y l a b e l ( ’ Average ␣ D i f f e r e n c e ’ ) 64 p l t . show ( ) a_May , b_May = popt_power print ( " C o e f f i c i e n t s ␣ o f ␣ the ␣ Power ␣ Curve : " ) print ( " a ␣ = " , a_May ) print ( " b ␣ = " , b_May ) 65
Abstract (if available)
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Reinforcement learning for the optimal dividend problem
PDF
Equilibrium model of limit order book and optimal execution problem
PDF
The spread of an epidemic on a dynamically evolving network
PDF
Some topics on continuous time principal-agent problem
PDF
Conditional mean-fields stochastic differential equation and their application
PDF
Optimal dividend and investment problems under Sparre Andersen model
PDF
Numerical methods for high-dimensional path-dependent PDEs driven by stochastic Volterra integral equations
PDF
Bayesian analysis of stochastic volatility models with Levy jumps
PDF
Application of statistical learning on breast cancer dataset
PDF
Increase colorectal cancer prediction accuracy with the influence (I)-score
PDF
High-frequency Kelly criterion and fat tails: gambling with an edge
PDF
Improvement of binomial trees model and Black-Scholes model in option pricing
PDF
Credit risk of a leveraged firm in a controlled optimal stopping framework
PDF
Linear filtering and estimation in conditionally Gaussian multi-channel models
PDF
Optimal investment and reinsurance problems and related non-Markovian FBSDES with constraints
PDF
Topics on set-valued backward stochastic differential equations
PDF
Dynamic network model for systemic risk
PDF
Dynamic approaches for some time inconsistent problems
PDF
Neural matrix factorization model combing auxiliary information for movie recommender system
PDF
Elements of dynamic programming: theory and application
Asset Metadata
Creator
Xu, Wenyu
(author)
Core Title
Numerical analysis on the influence of information delay on optimal investment strategy in the family of 4/2 stochastic volatility models
School
College of Letters, Arts and Sciences
Degree
Master of Science
Degree Program
Applied Mathematics
Degree Conferral Date
2023-08
Publication Date
08/08/2023
Defense Date
08/08/2023
Publisher
University of Southern California. Libraries
(digital)
Tag
4/2 stochastic volatility model,information delay,numerical analysis,OAI-PMH Harvest,portfolio optimization problem
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Zhang, Jianfeng (
committee chair
)
Creator Email
wenyuxu@usc.edu;brazilsquirrel@gmail.com
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-oUC113296708
Unique identifier
UC113296708
Identifier
etd-XuWenyu-12213.pdf (filename)
Legacy Identifier
etd-XuWenyu-12213
Document Type
Thesis
Rights
Xu, Wenyu
Type
texts
Source
20230809-usctheses-batch-1081
(batch),
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the author, as the original true and official version of the work, but does not grant the reader permission to use the work if the desired use is covered by copyright. It is the author, as rights holder, who must provide use permission if such use is covered by copyright. The original signature page accompanying the original submission of the work to the USC Libraries is retained by the USC Libraries and a copy of it may be obtained by authorized requesters contacting the repository e-mail address given.
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus, Los Angeles, California 90089, USA
Repository Email
cisadmin@lib.usc.edu
Tags
4/2 stochastic volatility model
information delay
numerical analysis
portfolio optimization problem