- Referring to the Monte Carlo series, we will explore future scenarios by simulating Oracle stock returns by random sampling and extrapolating the stock price into the near future.
- TX-based Oracle Corporation (NYSE:ORCL) is making significant strides in generative AI (GenAI) technology, earnings double in Q4 2023. The company’s progress is marked by its lucrative partnerships with Nvidia (NASDAQ:NVDA) and Elon Musk’s xAI.
- In fact, Oracle has secured contracts exceeding $4 billion for capacity on its Generation 2 Cloud to train generative AI models. These models are linked with platforms like ChatGPT and Bard. This development has contributed to a remarkable doubling of Oracle’s earnings for the Q4 2023.
- YF Summary: ORCL boasts a Growth Style Score of A and VGM Score of B, and holds a Zacks Rank #3 (Hold) rating. Its bottom-line is projected to rise 8.2% year-over-year for 2024, while Wall Street anticipates its top line to improve by 7.2%. Looking at cash flow, Oracle is expected to report cash flow growth of 18.6% this year; ORCL has generated cash flow growth of 3.2% over the past three to five years.
Input Stock Data
- Let’s set the working directory YOURPATH
import os
os.chdir('YOURPATH') # Set working directory
os. getcwd()
and download the stock data
import datetime as dt
from datetime import datetime as dt
from dateutil.relativedelta import relativedelta
import yfinance as yf
end = dt.today()
start = dt.today() - relativedelta(years=1)
data = yf.download('ORCL', start, end)
data.tail()

Monte Carlo Simulation
- Let’s run the Monte Carlo stock simulator
# Distribution parameters
v = 2.91162520
scale = 1.21872294e-02
loc = -8.13209384e-05
# importing the datetime library to generate dates for the future
from datetime import datetime, timedelta
from scipy import stats
# the simulations' starting price
initial_price = data['Close'].iloc[-1]
# number of simulation days
N_steps = 14
# number of scenarios in simulation
N_sims = 1000
# here we sample the distribution for 14x50000 future returns
rets_t= stats.t.rvs(df= v,loc = loc, scale =scale, size = (N_steps, N_sims))
# here we calculate the price at each timestep from the generated log returns
sim = (np.exp(rets_t.cumsum(axis = 1)))
# we save the results in a dataframe and put them on equal footing
results = pd.DataFrame(np.array(sim).reshape(N_sims, N_steps).T)
results = results.divide(results.iloc[0])*initial_price
time = pd.date_range(start = data.index[-1],
end = data.index[-1] + timedelta(days = N_steps - 1))
# lets look at the final price
final_price_t = results.iloc[-1]
plt.figure(figsize=(10,6))
plt.hist(final_price_t[final_price_t < 5*initial_price], density = True, bins = 100)
plt.title(f'Future Price distribution after {N_steps} days over {N_sims} scenarios')
plt.xlabel('Price USD')
plt.ylabel('Probability Density')

print (time)
DatetimeIndex(['2023-10-19', '2023-10-20', '2023-10-21', '2023-10-22',
'2023-10-23', '2023-10-24', '2023-10-25', '2023-10-26',
'2023-10-27', '2023-10-28', '2023-10-29', '2023-10-30',
'2023-10-31', '2023-11-01'],
dtype='datetime64[ns]', freq='D')
plt.figure(figsize=(18,15))
SMALL_SIZE = 20
MEDIUM_SIZE = 20
BIGGER_SIZE = 20
plt.rc('font', size=SMALL_SIZE) # controls default text sizes
plt.rc('axes', titlesize=SMALL_SIZE) # fontsize of the axes title
plt.rc('axes', labelsize=MEDIUM_SIZE) # fontsize of the x and y labels
plt.rc('xtick', labelsize=18) # fontsize of the tick labels
plt.rc('ytick', labelsize=SMALL_SIZE) # fontsize of the tick labels
plt.rc('legend', fontsize=SMALL_SIZE) # legend fontsize
plt.rc('figure', titlesize=BIGGER_SIZE) # fontsize of the figure title
plt.xticks(rotation=45, ha='right')
plt.plot(time,results)
plt.xlabel('Date')
plt.ylabel('Price USD')
plt.title('Oracle Price Monte Carlo Simulation')
plt.ylim(top=200)

- According to TradingView, the ORCL beta value of 1.2 suggests that the stock tends to move with more momentum than the S&P 500.
- The above simulation supports the weekly ORCL technical analysis based upon the most popular technical indicators, such as Moving Averages, Oscillators and Pivots.
Summary
- Our Monte Carlo simulation results are consistent with the current Zacks Rank 3-Hold for ORCL.
- Regarding the most recent ORCL trading ideas, these simulations confirm that the stock has a bullish potential. It is looking like a reversal on the weekly and daily chart.
- We believe that ORCL should be on investors’ short lists because of its impressive growth fundamentals, a good Zacks Rank, and strong Growth and VGM Style Scores.
Explore More
- Eric Marsden’s Top 6 Reliability/Risk Engineering Learnings
- Blue-Chip Stock Portfolios for Quant Traders
- Predicting Rolling Volatility of the NVIDIA Stock – GARCH vs XGBoost
- IQR-Based Log Price Volatility Ranking of Top 19 Blue Chips
- Cloud-Native Tech Autumn 2022 Fair
Your message has been sent
One-Time
Monthly
Yearly
Make a one-time donation
Make a monthly donation
Make a yearly donation
Choose an amount
€5.00
€15.00
€100.00
€5.00
€15.00
€100.00
€5.00
€15.00
€100.00
Or enter a custom amount
€
Your contribution is appreciated.
Your contribution is appreciated.
Your contribution is appreciated.
DonateDonate monthlyDonate yearly
Leave a comment