# Kevin Yew's log
Please write down your progress here every time after a meeting
- what to do
- your research results
- output
## References
- [Markdown guide](https://www.markdownguide.org/basic-syntax/)
- [Latex Math guide](https://en.m.wikibooks.org/wiki/LaTeX/Advanced_Mathematics)
## Important dates
- 3 months before June 2022 to apply for extension for RSS
# Meeting 2/7/2021
- Submit RSS form
- Next meeting on Monday, 5/7/21 at 11am
- Forms to be signed by Dr Wong Wai Kuan and submit
# Meeting 5/7/2021
- Discussion of proposal
- Title of the proposal: "Phenomenological Modelling in Different Regimes of Portfolio Using Proximal Gradient Method"
- Comparison with unit trust
- unit trust composition <- we cannot control
- but we can use it as benchmark
- we use proximal gradient to form the composition and compare performance
- comparison with simulated instruments
- Comparison of the proximal gradient model under different scenarios
- none volatile stage (quantify volatility)
- volatile stage
- limited fund capital and plenty of fund capital (fund porportion)
- map out the phase diagram under different scenario
- what do we need?
- data and unit trust fund components counters
- proximal gradient methods (optimizer to the model loss function)
- model loss function (grouped loss function)
- what skills Kevin needs
- how to optimise/minimize a loss function -> Dr Sim
- understand the model(the model try to minimize the risk + maximize the profit) -> loss function / free energy functional
- understanding of financial instruments/unit trust
## **To Do List**
- Rewatch the lectures videos and understand the concept in it
- Give presentation on Markowitz' Model, Lasso model
- Linear Regression: f(x) = 2X1+ 3.1X2 and optimize it using stochastic gradient descent
## ***Markowitz' Expected return - variance (E-V) rule***
- Limitations : Only 3 and 4 security cases are presented geometrically, assume static probability beliefs (where in fact, probability dstribution of yields of the various securities should be a function of time.)
- *Elemtentary Concepts*
Suppose there are n securities,the discounted anticipated return of the portfolio is:
\begin{align}
R & =\sum_{t=1}^\infty \sum_{i=1}^n d_{it}r_{it} X_i\\
& =\sum_{i=1}^n X_i(\sum_{t=1}^\infty d_{it}r_{it} )
\end{align}
$\;\;\;where\\
\;\;\;r_{it} = anticipated\; return\; at\; time\; t \;per\; dollar\; invested\; in\; security\; i$
$\;\;\;d_{it}=rate\;of\;discount\;on\;ith\;security\;at\; time\;t$
$\;\;\;X_i=relaive\;amount\;invested\;in\;security\;i,\;X_i\geqslant0\;(excluding\;short\;sales)$
Since
$$R_i=\sum_{t=1}^\infty d_{it} r_{it}$$
Therefore
$$R=\sum(X_i R_i)$$
$$\sum(X_i)=1$$
where $R_i$ is independent of $X_i$.
##
To maximize R, $X_i=1$ for $i$ with maximum $R_i$. If several $Ra_a, a=1,...,K$ are maximum, then any allocation with
$$\sum_{a=1}^K X a_a=1$$
maximizes R.
##
At this time, taking into considerations the static modelling (where time is not taken into considerations), let
$$r_i=the\;flow\;of\;return\;from\;i^{th}\;security$$
Thus, the flow of returns from the portfolio is
$$R = \sum(X_ir_i)$$
##
Taking into account of variance of returns:
Let $Y$ be random variable. Suppose
$$Y = y_1, y_2, ..., y_n$$
$$Probability,\;P(Y=y_i)=p_i\;,\;\mbox{for} \;i=1,2,...,n$$
$$Mean, E = p_1 y_1 + p_2 y_2+ ... p_n y_n$$
$$Variance, V = p_1 (y_1-E)^2 + p_2 (y_2-E)^2+ ... p_n (y_n-E)^2$$
##
Given a series of return on $i{th}$ security, $R_i$, where $i=1,2,...,n$
The weighted sum of $R_i$ is
\begin{align}
R & =\sum_{i=1}^n a_i R_i\\
& = a_1 R_1 + a_2 R_2 + ... + a_n R_n\\
\end{align}
Hence, mean and variance of weighted sum are:
$$E(R)=a_1 R_1+a_2 R_2+...+a_n R_n$$
$$V(R)=\sum_{i=1}^na_i^2V(X_i)+2\sum_{i=1}^n\;\sum_{j>1}^n a_i a_j \sigma_{ij}$$
$where\; \sigma_{ij}(Covariance\;between\;R_i\;and\;R_j)=\rho_{ij} \sigma_i \sigma_j$
When variance of $R_i$ is $\sigma_{ii}$,
$$V(R)=\sum_{i=1}^n\sum_{j=1}^n a_i a_j \sigma_{ij}$$
##
Therefore, yield, expected value and variance on the portfolio as a whole are
$$R=\sum R_i X_i\\
E=\sum_{i=1}^n X_i \mu_i\\
V=\sum_{i=1}^n \sum_{j=1}^n \sigma_{ij} X_i X_j$$
where
$R_i$ be return on the $i^{th}$ security.
$X_i$ be the percentage of the investor's assets which are allocated to the $i{th}$ security
$\mu$ be the expected value of $R_i$
$\sigma_{ij}$ be the covariance between $R_i$ and $R_j$
- Next meeting on Monday, 12/7/21 at 11am
Meeting 12/7/2021
## **To Do List**
- Discussion on Markowitz' Paper in more detail
- 
- Prepare the proposal
Next meeting on Monday, 19/7/21 at 11am
# Meeting 19/7/2021
- Discussion about Markowitz EV rule
- Discussion on Proposal
- Discussion on GD code
## To Do List
- Look into Lasso Paper
- Write the deriative by hand
- Continue with the propopsal
Next meeting on Monday, 2/8/2021 at 11:00am
# Meeting 2/8/2021
- Presentation on Markowtiz's paper
- Discussion on proposal
- Discussion on GD code
## To Do List
- Presentation to Dr Pan on every Friday 9.30am for 2 chapters
- Prepare the proposal
- Presentation on Dr Sim's lecture.
- Presentation slide on SG Lasso paper and our research method.
# Meeting 9/8/2021
- Discucssion on optimization papers
- Discussion on proposal
- Study on "Gradient Method with Multiple Damping on Large-Scale Unconstrained Optimization" and "Spectral proximal method for solving large scale sparse optimization" Chapter 1 and 2
# Meeting 16/8/2021
- Focus on coding generalized gradient descent and simplifying the code with values
- Code for Raydan 2, Diagonal 1 Function
- Study on "Gradient Method with Multiple Damping on Large-Scale Unconstrained Optimization" and "Spectral proximal method for solving large scale sparse optimization" Chapter 3,4 and 5
# Meeting 30/8/2021
- Prepare a slide presentation on what I want to present
- Study on inexact line search
- Do research on the financial sectors and choose the 2 best sectors and 2 worst sectors , also 2 best companies and 2 worst companies in the sector.
# Meeting 13/9/2021
- Meeting with Dr Khaw on Tuesday 14/9/2021 at 2.30pm
- Find out if the smallest x_k gives the smallest gradient, and therefore, the minimum point
- Find definition/properties of the norm.
- Find limitations of steepest gradient.
- Study on inexact line search(Armijo Rule)
## Limitations of steepest descent
- Sensitive to poor scaling
- Slower convergence when close to minimum
## Definition/Properties of the norm
- a norm is a total size or length of all vectors in a vector space or matrices.
- Properties of norm:
$∥x∥≥0$
$∥x∥=0⟺x=0$
$∥αx∥=|α|∥x∥$
$∥x+y∥≤∥x∥+∥y∥$
- One example of norm is $$\sqrt[n]{\sum_i|x_i|^p}$$ where $p\in\mathbb{R}$
- For $l_0$, in reality, most mathematicians and engineers use this definition of $l_0$-norm instead:$$\left \| x \right \|_0 = \#(i | x_i \neq 0)$$
that is a total number of non-zero elements in a vector.
- l1-norm
Following the definition of norm, l_1-norm of x is defined as
$$\left \| x \right \|_1 = \sum_{i} \left | x_i \right |$$
Manhattan norm is it’s nickname. In more general case of signal difference measurement, it may be scaled to a unit vector by:
$$MAE(x_1,x_2) = \frac{1}{n} \left \| x_1-x_2 \right \|_1 = \frac {1} {n} \sum \left | x_{1_i} - x_{2_i} \right |$$ where n is a size of x.
which is known as Mean-Absolute Error (MAE).
- l2-norm
The most popular of all norm is the l_2-norm. It is used in almost every field of engineering and science as a whole. Following the basic definition, l_2-norm is defined as $$\left \| x \right \|_2 = \sqrt{\sum_{i}x_i^2}$$
$l_2-norm$ is well known as a Euclidean norm, which is used as a standard quantity for measuring a vector difference.
It’s most well known application in the signal processing field is the Mean-Squared Error (MSE) measurement, which is used to compute a similarity, a quality, or a correlation between two signals. MSE is $$MSE(x_1,x_2) = \frac{1}{n} \left \| x_1-x_2 \right \|_2^2 = \frac{1}{n} \sum_i (x_{1_i}-x_{2_i})^2$$
- l-infinity norm
The $l_{\infty}$-norm is
$$\left \| x \right \|_{\infty} = max(\left | x_i \right |)$$
that is the maximum entries’ magnitude of that vector.
# Meeting 20/9/21
- Debate about whether $l_0$ norm is a norm
- Consolidate the data for stock prices
- Write out the algorithm for Armijo Condition.
- Start to draft proposal defence report
## Armijo Condition Steepest Descent Method
Step 1: Set k=0, given $x_0\in\mathbb{R}^n$ and convergence tolerancec $\epsilon$. Compute $d_0=-g_0$.
Step 2: Choose $\alpha = 1$, $\rho=0.5$, $c\in(0,1)$. If $f(x_k + \alpha d_k) \leq f(x_k) + c\alpha g_k^T d_k$, $\alpha_k = \alpha$, else compute $\alpha = \rho \alpha$ and repeat step 2.
Step 3: Set $k \geq 0$. If $g_k \leq \epsilon$, stop, else compute $x_{k+1} = x_k + \alpha d_k$
Step 4: Compute $d_k = -g_k$
Step 5: Set k = k+1, go to step 2.
## Discussion about $l_0$ "norm"
- 
- 
- 
- https://en.wikipedia.org/wiki/Lp_space
- https://en.wikipedia.org/wiki/Norm_(mathematics)#Zero_norm
# Meeting 29/9/21
- Prepare proposal defence report
- Fix the armijo condition coding
# Meeting 14/10/21
- 
- Gantt chart
- Table of Content
## Expected Outcome
- 2-3 sentences(Objectives)
- Volatile and non-volatile
- Compare the performance of the portfolio for these two regimes
- Benchmark with Malaysia's KLSE performance.
Parameter - relative strength of 4 terms
Expansion for partial derivative
# Meeting at 18/10/2021
- Prepare proposal defence slide
- Search articles about the negative loss function
- Prepare presentation about the paper on Yang et al. paper(2017)
# Meeting at 25/10/2021
- Amend the presentation slide
- Mock presentation on Friday 29/10/2021 - 11am
# Meeting at 8/11/2021
- Read the optimization book(gradient method, quasi-newton method)
- Meet Dr Wong at 9/11/2021(Tuesday) 2pm
# Meeting at 15/11/2021
- Build a code to check every term in the loss function
- Amend the proposal defence report
- Continue reading optimization and portfolio optimization books

# Meeting at 22/11/2021
- Add the 5th term to the objective function and derive the result in Python

- Try to build the code for spectral gradient method
- Continue reading optimzation and portfolio optimization books
# Meeting at 29/11/2021
- Add augmented lagrange multiplier
- Adjust and fix the code
# Meeting at 2/12/2021
- Continue reading optimzation and portfolio optimization books
- Checking and finding the problem in code
# Meeting at 9/12/2021
- Continue reading optimzation and portfolio optimization books
- Checking and finding the problem in code
# Meeting at 16/12/2021

- Checking and finding the problem in code
# Meeting at 10/1/2022
- Show result in graphics(stem plots)
- Choose portfolio with good/moderate/bad stocks and conduct comparisons according to no. of iterations
- Scatter plots between the optimum vector and sortino ratios
- Do directed reading
Discovery:
- Proximal method removes the negative components of the vector(those with significant negative Sortino ratio)
- Proximal SD yields optimum results faster than Proximal SG
- PSG consistently yields weightage sum close to 1 but PSD is more than 1
# Meeting at 20/1/2022
- Scatter plot between deviation of 1 to the sum of components(absolute value)
# Meeting at 26/1/2022
- Adjust the code for the spectral gradient method to prevent oscillation
- Improve the code for better efficiency
- Use LaTex to write methodology.
# Meeting at 07/2/2022
- How to increase the sparsity?
- How to improve the overdamping issue?
- Optimizing within sectors, between sectors, between portfolios
- Show good parameters
# Meeting at 14/2/2022
- Read the LASSO paper
- Try out the Proximal Iterative Hard Thresholding Method(for sparsity)
- Improve the Python code
# Meeting at 21/2/2022
- Suggestion by supervisors to tune the parameter with large coefficients to small coefficients
- Find out why the $\omega$ in the SGL paper must be $\sqrt{n_l}$
- Find out what is $\delta^*$
Discovery:
- For the $\omega$, in "Sparse-Group Lasso" by Simon et al. (2013) and "A note on the group lasso and sparse group lasso" by Friedman et al.(2010), the equation proposed by them are as below:
Friedman et al. (2010) proposed:
\begin{equation}
\min_{\beta \in \mathbb{R}} \|y - \sum_{l=1}^L X_l \beta_l \|_2^2 + \lambda_1 \sum_{l=1}^L \|\beta_l\|_2 + \lambda_2 \|\beta\|_1
\end{equation}
where $\rho_l$ is the number of prediction in group $l$ and $\sqrt{\rho_l}$ is the varying group size.
On the other hand, Simon et al. (2013) proposed:
\begin{equation}
\min_B \frac{1}{2n} \|y-\sum_{l=1}^m X^{(l)} \beta^{(l)} \|^2_2 + (1-\alpha) \lambda \sum_{l=1}^m \sqrt{\rho_l} \|\beta^{(l)}\|_2 + \alpha \lambda \|\beta\|_1
\end{equation}
where $\rho_l$ is the length of $\beta^{(l)}$
- For $\delta^*$,this may be the derivation

# Meeting at 28/2/2022
- Replace $l2-norm$ with group lasso.
- Review the code in detail once again.
# Meeting at 7/3/2022
- Find out what is the importance of $\mu$ in PIHT and the articles.
# Meeeting at 14/3/2022
- Understand the derivation of group lasso
- Use normalized value to compare the profit and risk of the portfolio
- Continue writing the paper.
# Meeting at 28/3/2022
- Code for group lasso $l_2$-norm.
- Conference paper result (Comparison of profit and risk value among SD, SG, PSD, PSG) with different time intervals.
# Meeting at 4/4/2022
- Prepare conference paper
# Meeting at 11/4/2022
- Prepare conference paper
# Meeting at 18/4/2022
- Improvise conference paper
# Meeting at 28/4/2022
- Test whether proximal method is still functioning after adding the clipping.
- Understand the code again what causes the huge deviation in the weightage.
- Find more literature reviews on grouping
Methods (Based on everyone)
- 1. We filter the 900 stocks using Sharpe ratio
- 2. We compute the overall risk for every sector, and from here, we run the optimization
Discovery
- With proximal and clipping, in every iteration, the proximal is the first to zerorize the stock's weightage. Very interesting🤔
- When the coefficients of the lambda and gamma increase, the stocks' weightage can be maintained at positive value in every iteration. Perhaps due to the effect of the power method?😯
- There's a pdf about the overall performance for every sector and the top 5 companies in every sector from Bursa Malaysia.
# Meeting at 9/5/2022
- Find the trading days per annum for Malaysia.
- Try to find the procedures of including the risk level to our project
- Think about minmum variance model
- Try to produce partial index tracking with dollar cost averaging
- For now, use the top 5 companies given in the pdf file to form a portfolio.
# Meeting at 17/5/2022 at 11am
- Trading days per annum in Malaysia is around 244 days.
- Few models to be compared:
- Original mean variance model
- $min f(x) = \frac{\beta_1}{2}x^TVx - \theta\mu^Tx + \frac{\gamma}{2}(\sum{x} - 1)^2 + \lambda(\sum{x} - 1)$
- Minimum variance model
- $min f(x) = \frac{\beta_1}{2}x^TVx + \frac{\gamma}{2}(\sum{x} - 1)^2 + \lambda(\sum{x} - 1)$
- Partial index mean variance model
- $min f(x) = \frac{\beta_1}{2}x^TVx - \sigma_M^2\beta_{P,M}^Tx - \theta\mu^Tx + \frac{\gamma}{2}(\sum{x} - 1)^2 + \lambda(\sum{x} - 1)$
where $\sigma_M^2$ is the variance of the market index returns and $\beta_{P,M}$ is the beta value of stocks relative to $\sigma_M^2$
# Meeting at 17/5/2022
- Find blue chips companies as representatives of the market index
- Initialize the algorithm with everything to be 1
- Why tune it?
- How do you define large?
- Why do you tune the parameter to this coefficient? (The minimum value to achieve nonnegativity components. We are not doing research in tuning the parameters to see the effect, but we tune it just enough to make sure every components to be positive.)
**Next meeting at 27/5/2022 11am (Friday)**
## Q&A
- Why do you only tune the parameters for the augmented lagrange multiplier?
- Our main objective in this project is not focusing on finding best parameter to see the effect. The reason why we only tune the parameters for the ALM is to make sure we achieve the nonnegativity constraint to make sure every components in the vector is positive.
- Why do you tune the parameter to this coefficient?
- This is the minimum value we have found after trials and errors that is enough to induce nonegativity in the portfolio.
- How does the ALM works?
- ALM is used to convert constrained objective function with equality constraint to unconstrained objective functions while making sure the solution for the objective function remains on the boundary of the feasible points. In our case, it serves to make sure the capital to be fully invested and to achieve the nonnegativity constraint.
Compared Model
- Proposed modified mean-variance model (with $l_2$ norm and $l_0$ norm)
$min f(x) = \frac{\beta_1}{2}x^TVx - \theta\mu^Tx + \frac{\gamma}{2}(\sum{x} - 1)^2 + \lambda(\sum{x} - 1)$
- Original mean-variance model (without $l_2$ norm and $l_0$ norm)
$min f(x) = \frac{\beta_1}{2}x^TVx - \theta\mu^Tx + \frac{\gamma}{2}(\sum{x} - 1)^2 + \lambda(\sum{x} - 1)$
- Minimum variance model (with $l_0$ norm) (not working)
$min f(x) = \frac{\beta_1}{2}x^TVx + \frac{\gamma}{2}(\sum{x} - 1)^2 + \lambda(\sum{x} - 1)$
- Partial Index tracking model (with $l_2$ norm and $l_0$ norm)
$min f(x) = \frac{\beta_1}{2}x^TVx - \sigma_M^2\beta_{P,M}^Tx - \theta\mu^Tx + \frac{\gamma}{2}(\sum{x} - 1)^2 + \lambda(\sum{x} - 1)$
where $\sigma_M^2$ is the variance of the market index returns and $\beta_{P,M}$ is the beta value of stocks relative to $\sigma_M^2$
- What to put in the paper?
- Extract 100 stocks with good Sortino ratio in 2019, tuning the sparsity parameter to obtain different sets of portfolios with different number of active positions, thus calculating respective's portfolio Sharpe ratio and Sortino ratio, mean return and risk level. (Using PSG only)(10 - 30 stocks)
- Using the sets of portfolios generated above, fixing the weightage of every stock allocation proportion, we find the mean return, risk level, Sharpe ratio and Sortino ratio of the portfolios in 2020 (During pandemic).
- Using different algorithms (SD,SG,PSD,PSG,Equal Weightage) on FBMKLCI, FBMT100
- Using different models on FBMKLCI, FBMT100 (With PSG only)
- Find measure of goodness between portfolio variance and market index variance
# Meeting at 27/5/2022
- Proceed with the experiments and write the findings
- Models to be decided again after experiments
# Meeting at 16/6/2022 9am
- Carry out experiments in different time interval (2018-2019; 2020-2021)
- Compute the time series to see if the results pattern match the market index graph.
- Use different initial vectors to run the algorithm
Discovery
- With different initial vector, the results greatly differ...😣
# Every meeting onwards on Thursday 4pm
# Meeting at 23/6/2022
- Suggestion on experiments:
- Adjust the initial parameter to determine the efficiency of our proposed model compared to other models based on a fixed set initial condition (result based on P/L).
- Fix the initial parameter and 100 initial conditions to determine how efficient our model will be compared to other models
- Try to remove a component from the portfolio that is not in the optimized portfolio in the end, and try to run again. See whether it will still get the same result?
CMS Funding Account
4342/002
Discovery:
- After running the PSG to get the portfolio, if I remove a nonzero component and run the PSG again, the resulted portfolio is totally different. Very sensitive to slight change in the component
- Proposed model is constantly better than original mean_variance model in 100 parameters.
# Meeting at 30/6/2022
What to do:
- Find different porftolio construction method in the market to use to compare our model
- Use different initial condition on different sectors
- Get the zero elements columns and coefficient of variation column for the 100 parameters
# Meeting at 5/7/2022
Take out the 12 stocks after the first run, and then run it with equal distribution to see the result if it's better than the 1st trial.
Try to allocate equal weightage for the 1st run stocks.
# Meeting at 19/7/2022
Perform optimization on a 100 stocks portfolio and obtain 12 active stocks. After that, remove this 12 active stocks and rerun the optimization for the 88 stocks and obtain 12 active stocks. Repeat this for 3-4 times.
# Meeting at 25/7/22
For the first run, remove the stock with the highest weightage and rerun it the second time. Repeat this few times.
Finish updating the conference paper and preparing the powerpoint slides.
# Meeting at 1/8/22
Update the conference paper and the slides.
# Meeting at 18/8/22, 25/8/22
- Prepare the papers to be published
# Meeting at 14/9/2022
- Submit the journal paper to the conference
- Prepare 1 chapter of thesis within 2 weeks and notify Dr Wong when it is done.
What to include in the first chapter for experiment?
- Firstly, use 25 stocks of good sortino ratio, FBMKLCI and FBMT100 to identify the pattern in the portfolio selection. It is discovered that a portfolio for 2 years is not ideal and portfolio generated with 2 steps process (filter with Sortino ratio and perform algorithms) will yield better portfolio.
- Secondly, use 1 year good Sortino ratio stocks, each year from 2010 to 2021 with 100 stocks to see the efficiency of PSG.
- Wondering if we want to test with $l1-norm$?
# Meeting at 30/9/22
- Plot the graph of PSG index against FBMT100 index
- Find out what happened with sudden surge and sudden drop in the portfolio profit.
- Sudden drop in profit, perhaps due to US China trade war in 2018, commodity-related supply disruption and sudden historic change of government in Malaysia, all stocks with more than 50% loss experience same upward trend in 2017, very good performance but huge downward trend in 2018. 8 in Technology and 7 in industrial product
# Meeting at 7/10/22
- There is an error in calculating the portfolio, will update more above after discussing with Miss Yap and Mr Kuang.
- In the meantime, look for the universal portfolio articles.
- Result of discussion:
- As the portfolio stocks sets is chosen differently every year, we should not plot everything onto the graph as a time series.
# Meeting at 21/10/22
- Fix the annualized return and use it as the data in running the algorithm. The output should tally with the graph now.
- Prepare the abstract for postgraduate colloquium.
# Meeting at 04/11/22
- The PSD and PSG methods are too unstable, try to extract more data (2 years) for initialization to see whether it will improve the methods.
# Meeting at 9/11/22 and 10/11/22
- At 10 active stocks, the PSD and PSG portfolios are still fluctuating a lot with 2 years data, though it improves. Try to change the initialization stage to using annualized mean return and daily mean return.
- Also, try to increase the number of active stocks in the PSD and PSG portfolios (eg. 15, 20, 25, 30) with 1 year and 2 years data to see if the portfolios will be more stable throughout the 11 years.
- In the meantime, compare the result with Xin Ying's to see if our result can tally. However, for now, we cannot tally.
# Meeting at 16/11/22
- At current, the result from Xin Ying is correct. Try to check whether there's a problem with our calculation or algorithm
# Meeting at 02/12/22
- Normalize the data on a specific year which does not have a normal distritbution (eg. 2018) and compute the results
# Meeting at 12/12/22
- Find range of normal-distributed skewness and kurtosis
- Use transformations (box-cox with negatives allowed), usually fitting will lose information
# Meeting at 19/12/22
- Obtain result using both normalization and GARCH method
# Meeting at 10/1/23
- Focus on updating the results with normalization, compare Sortino ratio filtering with coefficient of variation filtering
- Write report for WCS and prepare flow of thesis
Next meeting on Wednesday 18/1/23 9am
- Study on short term malaysia market trend
- prepare draft for thesis