Evergrande Share Price

Evergrande stock price analysis python

China Evergrande Group is a real estate sector and its industry is real estate development it is situated in China.

As of my last knowledge update in September 2021, Evergrande Group (China Evergrande Group), also known as China Evergrande or simply Evergrande, was a major Chinese real estate developer and one of the largest property developers in China. However, it was facing significant financial difficulties and had a highly scrutinized share price.

Please note that the situation regarding Evergrande may have evolved significantly since my last update. As of September 2021, here are some key points related to Ever Grande's share price:

Financial Troubles: Evergrande was grappling with a substantial debt burden, estimated to be one of the largest among Chinese companies. This financial strain led to concerns about its ability to meet its debt obligations, including bond repayments.

Share Price Volatility: Due to the uncertainty surrounding Evergrande's financial health, its share price experienced significant volatility. There were periods of both sharp declines and rebounds in its share price.

Government Intervention: The Chinese government has taken various measures to address the issues related to Evergrande's debt. These measures included urging the company to address its debt problems and exploring ways to manage the potential fallout.

Impact on Real Estate Market: Evergrande's financial troubles had the potential to impact China's real estate market and the broader economy due to its extensive real estate holdings and operations.

Credit Downgrades: Several credit rating agencies had downgraded Evergrande's credit rating, which further increased concerns among investors and creditors.

Debt Restructuring: Evergrande had initiated discussions with creditors and was exploring options for debt restructuring to manage its financial challenges.

Given the evolving nature of financial situations, it's important to note that circumstances related to Evergrande's share price and financial health may have changed significantly since my last update. Therefore, for the most up-to-date information on Evergrande's share price and its financial situation, it is recommended to consult reliable financial news sources and conduct thorough research. Additionally, consulting with financial experts or analysts may provide valuable insights into the current status of Evergrande's shares and the implications for investors.
#China Evergrande Group (3333.HK)
df = yf.download('3333.HK',
 start='2012-01-01',
 end='2021-09-25',
 progress=False)
df
OpenHighLowCloseAdj CloseVolume
Date
2012-01-033.273.333.233.251.74238724431314
2012-01-043.273.283.063.071.64588637786103
2012-01-053.073.122.982.991.60299650452518
2012-01-062.983.042.963.031.62444121649245
2012-01-093.003.152.973.131.67805339517727
.....................
2021-09-172.622.632.282.542.540000215993769
2021-09-202.502.532.062.282.280000133605599
2021-09-212.362.362.122.272.270000171239169
2021-09-232.613.002.442.672.670000737998696
2021-09-242.602.642.302.362.360000270351006

2398 rows × 6 columns

df = df.loc[:, ['Adj Close']]
df.rename(columns={'Adj Close':'adj_close'}, inplace=True)
df['simple_rtn'] = df.adj_close.pct_change()
df['log_rtn'] = np.log(df.adj_close/df.adj_close.shift(1))
def realized_volatility(x):
 return np.sqrt(np.sum(x**2))
df_rv = df.groupby(pd.Grouper(freq='M')).apply(realized_volatility)
df_rv.rename(columns={'log_rtn''rv'}, inplace=True)
df_rv.rv = df_rv.rv * np.sqrt(12)
fig, ax = plt.subplots(21, sharex=True)
ax[0].plot(df)
ax[1].plot(df_rv)
   
evergrande stock log return
fig, ax = plt.subplots(31, figsize=(2420), sharex=True)
df.adj_close.plot(ax=ax[0])
ax[0].set(title = 'Evergrande time series',
 ylabel = 'Stock price ($)')
df.simple_rtn.plot(ax=ax[1])
ax[1].set(ylabel = 'Simple returns (%)')
df.log_rtn.plot(ax=ax[2])
ax[2].set(xlabel = 'Date',
 ylabel = 'Log returns (%)')
evergrande log and simple return
The resulting plot contains three axes. Each one of them presents a different series: raw prices, simple returns, and log returns. Inspecting the plot in such a setting enables us to see the periods of heightened volatility and what was happening at the same time with the price of Evergrande stock. Additionally, we see how similar simple and log returns are.

Calculate the rolling mean and standard deviation: Evergrande stock

df_rolling = df[['simple_rtn']].rolling(window=21) \
 .agg(['mean''std'])
df_rolling.columns = df_rolling.columns.droplevel()
df_outliers = df.join(df_rolling)
def indentify_outliers(rown_sigmas=3):
 x = row['simple_rtn']
 mu = row['mean']
 sigma = row['std']
 if (x > mu + 3 * sigma) | (x < mu - 3 * sigma):
  return 1
 else:
  return 0
df_outliers['outlier'] = df_outliers.apply(indentify_outliers,
 axis=1)
outliers = df_outliers.loc[df_outliers['outlier'] == 1,
 ['simple_rtn']]
fig, ax = plt.subplots()
ax.plot(df_outliers.index, df_outliers.simple_rtn,
 color='blue', label='Normal')
ax.scatter(outliers.index, outliers.simple_rtn,
 color='red', label='Anomaly')
ax.set_title("Evergrande's stock returns")
ax.legend(loc='lower right')

evergrande outliers
In the plot, we can observe outliers marked with a red dot. One thing to notice is that when there are two large returns in the vicinity, the algorithm identifies the first one as an outlier and the second one as a regular observation. This might be due to the fact that the first outlier enters the rolling window and affects the moving average/standard deviation.
ARIMA Model Results
Dep. Variable:D.adj_closeNo. Observations:507
Model:ARIMA(2, 1, 1)Log Likelihood-690.248
Method:css-mleS.D. of innovations0.944
Date:Sat, 25 Sep 2021AIC1390.496
Time:17:07:18BIC1411.639
Sample:01-15-2012HQIC1398.788
- 09-26-2021
coefstd errzP>|z|[0.0250.975]
const0.00150.0400.0370.971-0.0760.079
ar.L1.D.adj_close-0.52491.225-0.4280.669-2.9271.877
ar.L2.D.adj_close-0.03750.069-0.5420.588-0.1730.098
ma.L1.D.adj_close0.47301.2250.3860.700-1.9292.875
Roots
RealImaginaryModulusFrequency
AR.1-2.2741+0.0000j2.27410.5000
AR.2-11.7411+0.0000j11.74110.5000
MA.1-2.1141+0.0000j2.11410.5000

For more updates




Post a Comment

0 Comments