Download presentation
Presentation is loading. Please wait.
1
Mean Reverting Asset Trading
Project Presentation CSCI-5551 Grant Meyers
2
Table of Contents Review Search Algorithm Parallelization
Project Results
3
1. Review Mean Reverting Asset + Goal
4
Review – Mean Reverting Asset
5
Example Mean Reverting Asset
Example Generated with: data=RandomFunction[OrnsteinUhlenbeckProcess[0,1,.1],{0,15,.1}] ListLinePlot[data,Filling->Axis,AxesLabel->{HoldForm[Time],HoldForm[Worth]},PlotLabel->HoldForm[Mean Reverting Stock Price - Centered at 0],LabelStyle->{12,GrayLevel[0],Bold}] Via Mathematica. Due to OrnsteinUhlenbeckProcess being a random process, your generated graph will look different, but will maintain the properties required.
6
Goal – Price Selection We want to select 2 prices.
Price 1 is ‘buy’ price, this is an upper limit of when to start purchasing shares. Price 2 is ‘sell’ price, this is a lower limit of when to start selling shares.
7
Goal – Price Selection Better:
8
Goal – Optimal Price Selection
What are the best buy / sell prices for a given stock? How do we find these prices?
9
Goal – Optimal Price Selection
What are the best buy / sell prices for a given stock? Specific per stock. How do we find these prices? Algorithmic search on historic data
10
Table of Contents Search Algorithm Review Parallelization
Project Results
11
2. Search Algorithm Recursive Refinement Search
12
Mathematical Model for Asset Price
A ‘Mean Reverting Asset’ is very similar to an Ito Process or Ornstein Uhlenbeck Process. This similarity allows for a mathematical definition / prediction of what the stock price will do. Search is based on historical data and recursively refined the more iterations the simulation is run. Ito Process: Ornstein Uhlenbeck process: Stochastic Differential Equation:
13
Stochastic Differential Equation
𝛼(𝛽−𝑋(𝑡))ⅆ𝑡 operates much like Hooke’s law, in that when the price is higher than the ‘equilibrium’ level this term will pull it back down to the mean at the rate of 𝛼. If price is lower than the ‘equilibrium’ level this term will push it back up to the mean at the rate of 𝛼. Stochastic – “The term stochastic occurs in a wide variety of professional or academic fields to describe events or systems that are unpredictable due to the influence of a random variable.“ per Wikipedia. Effectively that is to say that the indeterminate part of the equation is ‘accounted’ for in the stochastic term.
14
Stochastic Approximation
15
Stochastic Approximation
16
Stochastic Approximation
Directional Derivatve:
17
Stochastic Approximation
Bias is calculated as the difference between a central difference approximation and the actual derivative at the point of the objective function. Central Difference Approximation:
18
Table of Contents Parallelization Review Search Algorithm
Project Results
19
3. Parallelization Recursive Refinement Search
20
Equation Level Parallelism
λ_𝑛 is meant to deal with uncorrelated noise, like inaccuracy of price quote, selling storm, incomplete information (less than Nyquist frequency for sampling speed). η_𝑛 is meant to deal with correlated noise, sell off in stock, quoting a volatile price, differences in price on different stock exchanges. 𝛿_𝑛 is constant and usually chosen as O(1/(n^(1/6))
21
Equation Level Parallelism
Equations are ‘auto’ parallelized with Parallelize command. Mathematica will split the expression parts into sub programs and distribute.
22
Question Level Parallelism
What is the best stock from a set of stocks S over time period P. S = set of stock symbols, ie {“MSFT”, “AAPL”, “NFLX”, “CVX”, “AMZN”} P = set of 2 dates, start and end, ie {“1 Jan 2015”, “13 Nov 2015”} Allows for running all symbols independently of each other, then ‘combining’ results. Done via ParallelSubmit on stock symbols. Can be done via ParallelSubmit with a function to generate the sets for testing
23
Question Level Parallelism
What is the time period for stock S with in limited time period P. S = stock symbol, ie {“MSFT”} P = set of 2 dates, start search and end search, ie {“1 Jan 2015”, “13 Nov 2015”} Allows for processing a single set of data, with multiple concurrent search threads. ParallelSubmit with function to generate testing sets. Can be done via ParallelSubmit with a function to generate the sets for testing
24
Table of Contents Project Results Review Search Algorithm
Parallelization Project Results
25
4. Project Results Sample Results
26
Sample Results – Time Period
Best stock period for each: {“MSFT”, “AAPL”, “NFLX”, “CVX”, “AMZN”} Time Period: Jul 2014 – Oct 2015 – Microsoft (MSFT) Buy + Sell sets: 3 times of 233 shares. Buy: $ Sell: $ Profit Per Share: $17.46 ($5.82) becomes 2015 – ~41% gain Total Value calculated by getting the whole number of shares at original price for $10,000. Multiplying that by the profits per share, and times the number of buy/sell sets. This does not include reinvesting profits gained during the period, just the original $10,000 worth of shares.
27
Sample Results – Time Period 2
Best stock period for each: {“MSFT”, “AAPL”, “NFLX”, “CVX”, “AMZN”} Time Period: Feb 2011 – Jul 2012 – Apple (AAPL) Buy + Sell sets: 3 times of 132 shares. Buy: $ Sell: $ Profit Per Share: $44.79 ($14.93) becomes 2012 – ~60% gain Total Value calculated by getting the whole number of shares at original price for $10,000. Multiplying that by the profits per share, and times the number of buy/sell sets. This does not include reinvesting profits gained during the period, just the original $10,000 worth of shares.
28
Sample Results – Time Period 3
Best stock period for each: {“MSFT”, “AAPL”, “NFLX”, “CVX”, “AMZN”} Time Period: Sep 2013 – Jan 2015 – Netflix (NFLX) Buy + Sell sets: 3 times of 33 shares. Buy: $ Sell: $ Profit Per Share: $144.9 ($48.3) becomes 2015 – ~48% gain Total Value calculated by getting the whole number of shares at original price for $10,000. Multiplying that by the profits per share, and times the number of buy/sell sets. This does not include reinvesting profits gained during the period, just the original $10,000 worth of shares.
29
Sample Results – Time Period 4
Best stock period for each: {“MSFT”, “AAPL”, “NFLX”, “CVX”, “AMZN”} Time Period: Nov 2011 – Jul Chevron (CVX) Buy + Sell sets: 5 times of 101 shares. Buy: $ Sell: $ Profit per Share: $47.9 ($9.58) becomes 2012 – 48% gain Total Value calculated by getting the whole number of shares at original price for $10,000. Multiplying that by the profits per share, and times the number of buy/sell sets. This does not include reinvesting profits gained during the period, just the original $10,000 worth of shares.
30
Sample Results – Time Period 5
Best stock period for each: {“MSFT”, “AAPL”, “NFLX”, “CVX”, “AMZN”} Time Period: Sep 2013 – Jan 2015 – Amazon (AMZN) Buy + Sell sets: 3 times of 33 shares. Buy: $ Sell: $ Profit Per Share: $144.9 ($48.3) becomes 2015 – ~48% gain Total Value calculated by getting the whole number of shares at original price for $10,000. Multiplying that by the profits per share, and times the number of buy/sell sets. This does not include reinvesting profits gained during the period, just the original $10,000 worth of shares.
31
Sample Results – Best Stock in Period
Best stock of: {“MSFT”, “AAPL”, “NFLX”, “CVX”, “AMZN”} Time Period: Nov 2010 – Nov 2015 – Apple (AAPL) Buy + Sell sets: 3 times of 132 shares. Buy: $ Sell: $ Profit Per Share: $44.79 ($14.93) becomes 2012 – ~60% gain Total Value calculated by getting the whole number of shares at original price for $10,000. Multiplying that by the profits per share, and times the number of buy/sell sets. This does not include reinvesting profits gained during the period, just the original $10,000 worth of shares.
32
Specific Questions to be Answered 1 Data Sample Related
Does the algorithm work when there is a macroscopic change in the overall market? No. Some sort of capital preservation or opportunity cost maximum needs to be used. Does changing the training & applying time windows affect the return? How much? Do longer windows fair better or shorter ones? A) Yes. B) Depends. C) Inconclusive. Are there any dependable seasonal fluctuations? Inconclusive. Does the asset ‘class’ affect the effectiveness of the algorithm? Yes, most stocks are NOT mean reverting.
33
Specific Questions to be Answered 2 Performance Related
How fast can the Xeon server crunch the numbers? How fast can the Hydra server crunch the numbers? Is there a better way to format the data than the default JSON format? Given the use of common mathematical operations, could they be switched out to a format that uses matrix multiplication?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.