FX DispersionThis script calculates the dispersion of a basket of 5 FX pairs and then calculates the z-score the z-score is then made into a composite using the 30 and 60 ema of the z-score to smooth any noise. It must be used on one of the FX pairs in the basket and on the 1-minute timeframe as it has been hardcoded for 1 min use below.
Interpretation - Dispersion is a component of volatility - the dispersion of the underlying basket increases above 0.5 and decreases below 0.5.
Although increased dispersion is beneficial to momentum and trend-following strategies on the monthly and weekly timeframes. Observe this on the 1-minute timeframe and how dispersion crossing above/ below 0.5 it can signal reversion or momentum for the next period.
스크립트에서 "通达信+选股公式+换手率+0.5+源码"에 대해 찾기
[PUZ]Relativ Strength Index [MTB]Here I provide you with my new RSI indicator.
This RSI has some advantages over the normal Tadingview RSI.
The RSI is usually calculated exclusively on a Candel Close basis. My RSI is calculated on a Candel Close, Open, High, Low basis, which makes it look a little smoother. Furthermore, there are not only 3 support and resistance lines but a total of 7 where the rsi can bounce. These lines can all be set variably under the Style settings.
In addition, the RSI also shows divergences and hidden divergences via red and blue lines.
There is also the option to make trend settings
Option one involves determining the trend based on various selectable moving averages. You can also select the time frame for trend determination.
The trend is shown by coloring the background in the RSI green and red. Of course you can also switch the background on and off.
The second trend option is to determine a Fibbonacci line which is displayed red or green on LVL 100 depending on the trend direction.
In this trend calculation you can also select the time frame yourself and you can use the sensitivity to determine how many previous candels are taken into account to determine the trend.
If a candel close occurs above the 0.5 and 0.236 Fibb LVL, the trend turns green.
If a candel close occurs below the 0.5 and 0.786 Fibb LVL, the trend turns red.
A final additional feature is an output module where the RSI data is scaled between 0 and 1 in order to further process this data in future scripts.
A huge thank you goes out to djmad for providing his math library and another thank you to jdehorty for providing his MLExtension library
THISMA btccorrelationDescription:
This is a tool designed for traders who want to analyze correlation between any traded crypto's price in USD and the price of Bitcoin in USD.
Key Features:
Adjustable Correlation Window: The script features an input parameter that allows traders to set the length of the correlation window, with a default value of 14. Lower if you want faster granularity.
Clear Visualization: The correlation coefficient is plotted in a distinct pane below the main trading chart.
Reference Lines for Interpretation: Horizontal reference lines are included at 0.5 (indicating weak positive correlation), -0.5 (indicating weak negative correlation), and 0 (indicating no correlation). These lines, color-coded in green, red, and gray respectively, assist traders in quickly interpreting the correlation coefficient's value.
Applications:
Market Insight: If you want to be able to monitor if you should enter a trade on an altcoin or if its better to stick to Bitcoin to avoid being double exposed.
Risk Management: Identifying the correlation can help in assessing and managing the systemic risk associated with market movements, especially in cryptocurrency markets where Bitcoin's influence is significant.
COSTAR [SS]This idea came to me after I wrote the post about Co-Integration and pair trading. I wondered if you could use pair trading principles as a way to determine overbought and oversold conditions in a more neutral way than RSI or Stochastics.
The results were promising and this indicator resulted :-)!
About:
COSTAR provides another, more neutral way to determine whether an equity is overbought or oversold.
Instead of relying on the traditional oscillator based ways, such as using RSI, Stochastics and MFI, which can be somewhat biased and narrow sided, COSTAR attempts to take a neutral, unbiased approached to determine overbought and oversold conditions. It does this through using a co-integrated partner, or "pair" that is closely linked to the underlying equity and succeeds on both having a high correlation and a high t-statistic on the ADF test. It then references this underlying, co-integrated partner as the "benchmark" for the co-integration relationship.
How this succeeds as being "unbiased" and "neutral" is because it is responsive to underlying drivers. If there is a market catalyst or just general bullish or bearish momentum in the market, the indicator will be referencing the integrated relationship between the two pairs and referencing that as a baseline. If there is a sustained rally on the integrated partner of the underlying ticker that is holding, but the other ticker is lagging, it will indicate that the other ticker is likely to be under-valued and thus "oversold" because it is underperforming its benchmark partner.
This is in contrast to traditional approaches to determining overbought and oversold conditions, which rely completely on a single ticker, with no external reference to other tickers and no control over whether the move could potentially be a fundamental move based on an industry or sector, or whether it is a fluke or a squeeze.
The control for this giving "false" signals comes from its extent of modelling and assessment of the degree of integration of the relationship. The parameters are set by default to assess over a 1 year period, both the correlation and the integration. Anything that passes this degree of integration is likely to have a solid, co-integrated state and not likely to be a "fluke". Thus, the reliability of the assessment is augmented by the degree of statistical significance found within the relationship. The indicator is not going to prompt you to rely on a relationship that is statistically weak, and will warn you of such.
The indicator will show you all the information you require regarding the relationship and whether it is reliable or not, so you do not need to worry!
How to Use
The first step to use COSTAR is identifying which ticker has a strong relationship with the current ticker. In the main chart, you will see that SPY is overlaid with VIX. There is a strong, negative correlation between the VIX and SPY. When VIX is entered as the paired ticker, the indicator returns the data as stationary, indicating a compatible match.
Now you have 3 ways of viewing this relationship, 2 of which are going to be directly applicable to trading.
You can view them as
Price to Price Ratio (Not very useful for trading, but if you are curious)
Z-Score: Helpful for trading
Co-integration: Helpful for trading
Here is an example of all three:
Example of Z-Score Chart:
Example of Price Ratio:
Example of Co-Integration Pair:
Using for Trading
As stated above, the two best ways to use this for trading is to either use the Z-Score Chart or the Co-Integrated Pair chart.
The Z-Score chart is based off of the price ratio data and provides an assessment of both the independent and dependent data.
The co-integration shows the dependent (the ticker you are trading) in yellow and the independent (the ticker you are referencing) in teal. When teal is above yellow, you will see it is green. This means, based on your benchmark pair, there is still more up room and the ticker you are trading is actually lagging behind.
When the yellow crosses up, it will turn red. This means that your ticker is out-performing the benchmark pair and you likely will see pullback and a "regression to the mean" through re-integration.
The indicator is capable of plotting out entries and exits, which are guided by the z-score:
How Effective is it?
I created a basic strategy in Pinescript, and the back-test results vary. Trading ES1! using NQ1! as the co-integrated pair, results were around 78% effective.
With VIX, results were around 50% effective, but with a net profit.
Generally, the efficacy surpassed that of both stochastics and RSI.
I will be releasing the strategy version of this in the coming days, still just cleaning up that code and making it more "public use" friendly.
Other Applications
If you are a pair trader, you can technically use this for pair trading as well. That's essentially all this is doing :-).
Tips
If you are trading a ticker such as MSFT, AMD, KO etc., it's best to try to find an ETF or index that has that particular ticker as a large holding and use that as your benchmark. You will see on the indicator whether there is a high correlation and whether the data is indeed stationary.
If the indicator returns "Non-stationary", you can attempt to extend your regression range from 252 to 500. If this fixes the issue, ensure that the correlation is still >= 0.5 or <= -0.5. If this does not work still, you will need to find another pair, as its likely the result of incompatibility and an insignificant relationship.
To help you identify tickers with strong relationships, consider using a correlation heatmap indicator. I have one available and I think there are a couple of other similar ish ones out there. You want to make sure the relationship is stable over time (a correlation of >= 0.50 or <= -0.5 over the past 252 to 500 days).
IMPORTANT: The long and short exits delete the signal after one is signaled. Therefore, when you look back in the chart you will notice there are no signals to exit long or short. That is because they signal as they happen. This is to keep the chart clean.
'Tis all my friends!
Hope you enjoy and let me know your questions and suggestions below!
Side note:
COSTAR stands for Co-integration Statistical Analysis and Regression. ;)
Ultimate Seasonality Indicator [SS]Hello everyone,
This is my seasonality indicator. I have been working on it for like 2 months, so hope you like it!
What it does?
The Ultimate Seasonality indicator is designed to provide you, the trader, an in-depth look at seasonality. The indicator gives you the ability to do the following functions:
View the most bearish and bullish months over a user defined amount of years back.
View the average daily change for each respective months over a user defined amount of years back.
See the most closely correlated month to the current month to give potential insights of likely trend.
Plot out areas of High and Low Seasonality.
Create a manual seasonal forecast model by selecting the desired month you would like to model the current month data after.
Have the indicator develop an autoregressive seasonal model based on seasonally lagged variables, using principles of machine learning.
I will go over these functions 1 by 1, its a whopper of an indicator so I will try to be as clear and concise as possible.
Viewing Bullish vs Bearish Months, Average Daily Change & Correlation to Current Month
The indicator will break down the average change, as well as the number of bullish and bearish days by month. See the image below as an example:
In the table to the right, you will see a breakdown of each month over the past 3 years.
In the first column, you will see the average daily change. A negative value, means it was a particularly bearish month, a positive value means it was a particularly bullish month.
The next column over shows the correlation to the current dataset. How this works is the indicator takes the size of the monthly data for each month, and compares it to the last X number of days up until the last trading day. It will then perform a correlation assessment to see how closely similar the past X number of trading days are to the various monthly data.
The last 2 columns break down the number of Bullish and Bearish days, so you can see how many red vs green candles happened in each respective month over your set timeframe. In the example above, it is over the pats 3 years.
Plot areas of High and Low Seasonality
In the chart above, you will see red and green highlighted zones.
Red represents areas of HIGH Seasonality .
Green represents areas of LOW Seasonality .
For this function, seasonality is measured by the autocorrelation function at various lags (12 lags). When there is an average autocorrelation of greater than 0.85 across all seasonal lags, it is considered likely the result of high seasonality/trend.
If the lag is less than or equal to 0.05, it is indicative of very low seasonality, as there is no predominate trend that can be found by the autocorrelation functions over the seasonally lagged variables.
Create Manual Seasonal Forecasts
If you find a month that has a particularly high correlation to the current month, you can have the indicator create a seasonal model from this month, and fit it onto the current dataset (past X days of trading).
If we look at the example below:
We can see that the most similar month to the current data is September. So, we can ask the indicator to create a seasonal forecast model from only September data and fit it to our current month. This is the result:
You will see, using September data, our most likely close price for this month is 450 and our model is y= 1.4305x + -171.67.
We can accept the 450 value but we can use the equation to model the data ourselves manually.
For example, say we have a target price on the month of 455 based on our own analysis. We can calculate the likely close price, should this target be reached, by substituting this target for x. So y = 1.4305x + -171.67 becomes
y = 1.4305(455) +- 171.67
y = 479.20
So the likely close price would be 479.20. No likely, and thus its not likely we are to see 455.
HOWEVER, in this current example, the model is far too statistically insignificant to be used. We can see the correlation is only 0.21 and the R squared is 0.04. Not a model you would want to use!
You want to see a correlation of at least 0.5 or higher and an R2 of 0.5 or higher.
We can improve the accuracy by reducing the number of years we look back. This is what happens when we reduce the lookback years to 1:
You can see reducing to 1 year gives December as the most similar month. However, our R2 value is still far too low to really rely on this data whole-heartedly. But it is a good reference point.
Automatic Autoregressive Model
So this is my first attempt at using some machine learning principles to guide statistical analysis.
In the main chart above, you will see the indicator making an autoregressive model of seasonally lagged variables. It does this in steps. The steps include:
1) Differencing the data over 12, seasonally lagged variables.
2) Determining stationarity using DF test.
3) Determining the highest, autocorrelated lags that fall within a significant stationary result.
4) Creating a quadratic model of the two identified lags that best represents a stationary model with a high autocorrelation.
What are seasonally lagged variables?
Seasonally lagged variables are variables that represent trading months. So a lag of 25 would be 1 month, 50, 2 months, 75, 3 months, etc.
When it displays this model, it will show us what the results of the t-statistic are for the DF test, whether the data is stationary, and the result of the autocorrelation assessment.
It will then display the model detail in the tip table, which includes the equation, the current lags being used, the R2 and the correlation value.
Concluding Remarks
That's the indicator in a nutshell!
Hope you like it!
One final thing, you MUST have your chart set to daily, otherwise you will get a runtime error. This can ONLY be used on the daily timeframe!
Feel free to leave your questions, comments and suggestions below.
Note:
My "ultimate" indicators are made to give the functionality of multiple indicators in one. If you like this one, you may like some of my others:
Ultimate P&L Indicator
Ultimate Customizable EMA/SMA
Thanks for checking out the indicator!
Fibonacci Trailing Stop [LuxAlgo]The Fibonacci Trailing Stop indicator creates a Trailing Stop, based on Fibonacci levels which are retrieved from the latest swing high & low . This provides a Trailing Stop-line .
🔶 USAGE
The Fibonacci Trailing Stop can indicate the current trend direction.
Shadows can also provide potential support/resistance areas.
Users can also display Fibonacci retracements.
🔶 CONCEPTS
🔹 Basic principles
There are 2 basic principles:
Every new swing will create or update a new Fibonacci pattern, potentially changing the Fibonacci Trailing Stop (FTS)
The Trend depends on whether the FTS is crossed/breached, the trigger is a chosen 'level/trigger'
(settings -> Fibonacci Trailing Stop -> Level/Trigger)
In an uptrend, these levels will be placed at the bottom half of the pattern.
In a downtrend, these levels will be placed at the top half of the pattern.
Once a trend is established, the Trailing Stop will only update in the direction of the trend:
Only higher when in an uptrend
Only lower when in a downtrend
If a Trailing Stop line is broken, the trend shifts to the other direction
The FTS line is accompanied by a secondary line (colour-filled), created by smaller swings (half of L/R, rounded to above)
EXAMPLES
• New bullish Trend/pattern
• Updating later on
• Bearish Trend -> breached -> New bullish Trend -> Trend is updated later on, and is breached at the end:
• Trend broken -> new Trend/direction:
• Bearish Trend -> breached -> New bullish Trend -> breached -> New bearish Trend (Here you see the latest cross of the bullish trend)
🔹 Shadows & latest Fibonacci
The indicator contains the option to show:
Latest Fibonacci
Shadows : previous Fibonacci Levels (will only appear after a 1 bar delay)
Shadows can be very useful to provide support/resistance areas, especially from large shadow-blocks .
When shadows are enabled, the color fill of Latest Fibonacci and FTS will be removed, this to provide less clutter:
🔶 SETTINGS
🔹 Swings
L: set left of pivothigh / pivotlow
R: set right of pivothigh / pivotlow
Swing labels: show labels of swings (updated in the same direction)
🔹 Fibonacci Trailing Stop
Level - Toggle - Custom value
• Choose pré-set levels [ -0.5, -0.382, -0.236 , 0, 0.236, 0.382, 0.5, 0.618 ]
• Choose custom level -> Toggle enabled and adjust the number at the right
Trigger: set trigger for breaching the FTS, close or wick (high in downtrend/low in uptrend)
🔹 Fibonacci
Latest Fibonacci: show Latest Fibonacci
Shadows: show Shadows
Average Range LinesThis Average Range Lines indicator identifies high and low price levels based on a chosen time period (day, week, month, etc.) and then uses a simple moving average over the length of the lookback period chosen to project support and resistance levels, otherwise referred to as average range. The calculation of these levels are slightly different than Average True Range and I have found this to be more accurate for intraday price bounces.
Lines are plotted and labeled on the chart based on the following methodology:
+3.0: 3x the average high over the chosen timeframe and lookback period.
+2.5: 2.5x the average high over the chosen timeframe and lookback period.
+2.0: 2x the average high over the chosen timeframe and lookback period.
+1.5: 1.5x the average high over the chosen timeframe and lookback period.
+1.0: The average high over the chosen timeframe and lookback period.
+0.5: One-half the average high over the chosen timeframe and lookback period.
Open: Opening price for the chosen time period.
-0.5: One-half the average low over the chosen timeframe and lookback period.
-1.0: The average low over the chosen timeframe and lookback period.
-1.5: 1.5x the average low over the chosen timeframe and lookback period.
-2.0: 2x the average low over the chosen timeframe and lookback period.
-2.5: 2.5x the average low over the chosen timeframe and lookback period.
-3.0: 3x the average low over the chosen timeframe and lookback period.
Look for price to find support or resistance at these levels for either entries or to take profit. When price crosses the +/- 2.0 or beyond, the likelihood of a reversal is very high, especially if set to weekly and monthly levels.
This indicator can be used/viewed on any timeframe. For intraday trading and viewing on a 15 minute or less timeframe, I recommend using the 4 hour, 1 day, and/or 1 week levels. For swing trading and viewing on a 30 minute or higher timeframe, I recommend using the 1 week, 1 month, or longer timeframes. I don’t believe this would be useful on a 1 hour or less timeframe, but let me know if the comments if you find otherwise.
Based on my testing, recommended lookback periods by timeframe include:
Timeframe: 4 hour; Lookback period: 60 (recommend viewing on a 5 minute or less timeframe)
Timeframe: 1 day; Lookback period: 10 (also check out 25 if your chart doesn’t show good support/resistance at 10 days lookback – I have found 25 to be useful on charts like SPX)
Timeframe: 1 week; Lookback period: 14
Timeframe: 1 month; Lookback period: 10
The line style and colors are all editable. You can apply a global coloring scheme in the event you want to add this indicator to your chart multiple times with different time frames like I do for the weekly and monthly.
I appreciate your comments/feedback on this indicator to improve. Also let me know if you find this useful, and what settings/ticker you find it works best with!
Also check out my profile for more indicators!
DBMA - Dual Bollinger Moving AverageThe Dual Bollinger moving average (DBMA) consists of a moving average (MA) & two Bollinger Bands (BB), with the color of the bands representing the level of price compression. In its default settings, it is a 20-day simple moving average with 2 upper Bollinger Bands, having the standard deviation (SD) settings of 0.5 & 1, respectively.
How close the price is to the moving average?
For a pullback trader, the entry point should be close to the moving average, preferably with price compression. How close should it be, is where the bands serve as a guide. The low of the pullback candle should be within the bands, that is, at least within the far band (1 SD of the MA), or even better if it's within the near band (0.5 SD). When the price is outside the bands, it should not be considered favourable for a pullback entry.
For how long has the price been closer to the moving average?
John Carter’s TTM Squeeze indicator looked at the relationship between Bollinger Bands and Keltner's Channels to help identify period of volatility contractions. Bollinger Bands being completely enclosed within the Keltner Channels is indicative of a very low volatility. This is a state of volatility contraction known as squeeze. Using different ATR lengths (1.0, 1.5 and 2.0) for Keltner Channels, we can differentiate between levels of squeeze (High, Mid & Low compression, respectively). Greater the compression, higher the potential for explosive moves.
The squeeze portion of the script is based on LazyBear's script ( Squeeze Momentum Indicator )
The High, Mid & Low compression squeezes are depicted via the color of the bands being red, orange, or yellow, respectively. With the low of the pullback candle within the bands, & the squeeze color changing to red, it should be considered favourable for a pullback entry.
Trailing the price with the lower bands
The lower bands can be used for trailing with the moving average. While trailing, once the price closes below the moving average, the trailing stoploss (TSL) is said to be triggered, & the trade is exited. Here we use the bands to give it some cushion. Let the price close below the 1SD band for labelling the TSL as being triggered to exit the trade. If the price closes below the MA but is still within the bands, the signal is to keep holding the trade.
Linear Correlation Coefficient W/ MAs and Significance TestsThis Linear CC takes into account the log-normal distribution of stock prices and performs Pearson correlation on that data set. It also smoothens the results into an easy to read oscillator, and performs a two-tail t-test on the correlation coefficient data (with a = 0.05) to determine the significance of the coefficients. Significant results are shown in a solid yellow color while insignificant results are shown in a dark yellow color (you can eyeball this with a normal LCC by looking at results around -0.5 to +0.5).
Two MAs are provided as well for a quick trend analysis. You can reduce the lookback period, but it defaults to 31 for the sake of statistical standards.
Monday_Weekly_Range/ErkOzi/Deviation Level/V1"Hello, first of all, I believe that the most important levels to look at are the weekly Fibonacci levels. I have planned an indicator that automatically calculates this. It models a range based on the weekly opening, high, and low prices, which is well-detailed and clear in my scans. I hope it will be beneficial for everyone.
***The logic of the Monday_Weekly_Range indicator is to analyze the weekly price movement based on the trading range formed on Mondays. Here are the detailed logic, calculation, strategy, and components of the indicator:
***Calculation of Monday Range:
The indicator calculates the highest (mondayHigh) and lowest (mondayLow) price levels formed on Mondays.
If the current bar corresponds to Monday, the values of the Monday range are updated. Otherwise, the values are assigned as "na" (undefined).
***Calculation of Monday Range Midpoint:
The midpoint of the Monday range (mondayMidRange) is calculated using the highest and lowest price levels of the Monday range.
***Fibonacci Levels:
// Calculate Fibonacci levels
fib272 = nextMondayHigh + 0.272 * (nextMondayHigh - nextMondayLow)
fib414 = nextMondayHigh + 0.414 * (nextMondayHigh - nextMondayLow)
fib500 = nextMondayHigh + 0.5 * (nextMondayHigh - nextMondayLow)
fib618 = nextMondayHigh + 0.618 * (nextMondayHigh - nextMondayLow)
fibNegative272 = nextMondayLow - 0.272 * (nextMondayHigh - nextMondayLow)
fibNegative414 = nextMondayLow - 0.414 * (nextMondayHigh - nextMondayLow)
fibNegative500 = nextMondayLow - 0.5 * (nextMondayHigh - nextMondayLow)
fibNegative618 = nextMondayLow - 0.618 * (nextMondayHigh - nextMondayLow)
fibNegative1 = nextMondayLow - 1 * (nextMondayHigh - nextMondayLow)
fib2 = nextMondayHigh + 1 * (nextMondayHigh - nextMondayLow)
***Fibonacci levels are calculated using the highest and lowest price levels of the Monday range.
Common Fibonacci ratios such as 0.272, 0.414, 0.50, and 0.618 represent deviation levels of the Monday range.
Additionally, the levels are completed with -1 and +1 to determine at which level the price is within the weekly swing.
***Visualization on the Chart:
The Monday range, midpoint, Fibonacci levels, and other components are displayed on the chart using appropriate shapes and colors.
The indicator provides a visual representation of the Monday range and Fibonacci levels using lines, circles, and other graphical elements.
***Strategy and Usage:
The Monday range represents the starting point of the weekly price movement. This range plays an important role in determining weekly support and resistance levels.
Fibonacci levels are used to identify potential reaction zones and trend reversals. These levels indicate where the price may encounter support or resistance.
You can use the indicator in conjunction with other technical analysis tools and indicators to conduct a more comprehensive analysis. For example, combining it with trendlines, moving averages, or oscillators can enhance the accuracy.
When making investment decisions, it is important to combine the information provided by the indicator with other analysis methods and use risk management strategies.
Thank you in advance for your likes, follows, and comments. If you have any questions, feel free to ask."
Autoregressive CloudHello,
I am releasing this indicator called the Autoregressive Cloud Indicator.
What it does:
The indicator performs an autoregression analysis on 3 price variables of a ticker, those being the High, the Low and the Close. It uses a 1-lag system and looks back at the previous close, high and low’s effect on the proceeding high, low and close. It then plots out the anticipated range for the ticker based on the autoregression analysis, as well as displays the lag-correlation (autocorrelation) in a table.
What is Autoregression analysis?
Autoregression is a modelling technique used to describe a time series based on its own past values. It assumes that the current value of a variable is a linear combination of its previous values and a random error term.
And what is autocorrelation?
Autocorrelation measures the correlation between a time series and its lagged values. It quantifies the degree to which the current value of a series is related to its past values at different lags, indicating any patterns or dependencies in the data over time. Autoregression and autocorrelation are closely related concepts used to analyze and model time series data.
So how does it work?
The indicator calculates autoregressive values for the close, high, and low prices of a security based on the specified lookback length (which is defaulted to 50). It then plots three sets of clouds representing the smoothed autoregressive values for each price component (done using the SMA function). The transparency of the clouds can be adjusted using the "Transparency" input. Additionally, the code includes a correlation table that displays the correlation coefficients between the lagged values of the close, high, and low prices. The table's position can be customized using the "Position" input.
The indicator defaults to the chart timeframe; however, you can manually adjust the indicator to display the range for whatever timeframe you would like. You can view the 30 minute, 15 or even hourly range on the 1 minute or 5 minute chart if you want.
The indicator will show the anticipated “true trading range” of the stock based on the autoregression and autocorrelation of all 3 variables:
Above is SPY on the 5 minute timeframe with 15 minute levels overlayed. Here, you can see the anticipated trading range for that 15 minute time period.
Using the Correlation Table:
The correlation table displays the Pearson Coefficient for all 3 autoregressions.
A positive correlation: A positive autocorrelation indicates a positive relationship between past and current values of a time series variable. It suggests that when the variable has a high value at a certain time, it is more likely to have a high value in the future, and when it has a low value, it is more likely to have a low value in the future. This positive autocorrelation can imply persistence or trend in the data, indicating that past values can provide useful information for predicting future values. The rule of thumb is anything over 0.5 is considered significant.
A positive correlation among all 3 variables also indicates an uptrend. If you see a strong positive (i.e. the values are all greater than 0.8), it indicates an incredibly decisive and strong uptrend.
A negative correlation: A negative autocorrelation indicates an inverse relationship between past and current values of a time series variable. It suggests that when the variable has a high value at a certain time, it is more likely to have a low value in the future, and vice versa. This negative autocorrelation can imply mean reversion or oscillatory behavior in the data, where extreme values tend to be followed by values closer to the average. It indicates that past values can provide useful information for predicting future values by anticipating a reversal in the direction of the variable. The rule of thumb is anything below or equal to -0.5 is considered significant.
A negative correlation among all 3 variables also indicates a downtrend. If you see a strong negative (i.e. the values are all less than or equal to -0.8), it indicates an incredibly decisive and strong downtrend.
Uses of the Indicator:
The indicator can be used for the following functions:
1. Day trading and scalping within an expected range;
2. Determining the strength or weakness of an uptrend or downtrend on various timeframes;
3. Determining the relationship between previous values and past performance and its effect on future performance;
4. Can alert to changes in trend direction in advance (you may see high, low or close turn negative before others, signifying that weakness is beginning to materialize in an uptrend, or inverse in a downtrend (value changes positive)).
Customizability:
SMA: The autoregression data is smoothed by a 3 period lookback. You can change this if you want, but in order for the indicator to present the true trading range, it is recommended to leave it at <= 3.
Lookback Length: This is the length of the lookback period for the autoregression and autocorrelation functions.
Transparency settings: You can adjust the transparency of the clouds manually.
Timeframe: You can adjust the timeframe, as explained above, to display the timeframe of interest. When you adjust the timeframe, the data will all reflect that timeframe and not necessarily the current TF you have open (i.e. you select 30 minutes while viewing it on the 5 minute, it will show the data for the 30 minute TF period).
Video Tutorial:
I have prepared a video outlining the indicator and also explaining the theory of autoregression/correlation. You can find it below:
Let me know any comments, questions or suggestions below.
Thank you for taking the time to read/watch and check out this indicator.
Safe trades everyone!
Normalized KAMA Oscillator | Ikke OmarThis indicator demonstrates the creation of a normalized KAMA (Kaufman Adaptive Moving Average) oscillator with a table display. I will explain how the code works, providing a step-by-step breakdown. This is personally made by me:)
Input Parameters:
fast_period and slow_period: Define the periods for calculating the KAMA.
er_period: Specifies the period for calculating the Efficiency Ratio.
norm_period: Determines the lookback period for normalizing the oscillator.
Efficiency Ratio (ER) Calculation:
Measures the efficiency of price changes over a specified period.
Calculated as the ratio of the absolute price change to the total price volatility.
Smoothing Constant Calculation:
Determines the smoothing constant (sc) based on the Efficiency Ratio (ER) and the fast and slow periods.
The formula accounts for the different periods to calculate an appropriate smoothing factor.
KAMA Calculation:
Uses the Exponential Moving Average (EMA) and the smoothing constant to compute the KAMA.
Combines the fast EMA and the adjusted price change to adapt to market conditions.
Oscillator Normalization:
Normalizes the oscillator values to a range between -0.5 and 0.5 for better visualization and comparison.
Determines the highest and lowest values of the KAMA within the specified normalization period.
Transforms the KAMA values into a normalized range.
By incorporating the Efficiency Ratio, smoothing constant, and normalization techniques, the indicator actually allows for the identification of trends on different timeframes, even in extreme market conditions.
The normalization makes it much more adaptive than if you were to just use a normal KAMA line. This way you actually get a lot more data by looking at the histogram, rather than just the KAMA line.
I essentially made the KAMA into an oscillator! Please ask if you want me to code another indicator
I hope you enjoyed this.
Please ask if you have any questions<3
STD-Filtered Jurik Volty Adaptive TEMA [Loxx]The STD-Filtered Jurik Volty Adaptive TEMA is an advanced moving average overlay indicator that incorporates adaptive period inputs from Jurik Volty into a Triple Exponential Moving Average (TEMA). The resulting value is further refined using a standard deviation filter to minimize noise. This adaptation aims to develop a faster TEMA that leads the standard, non-adaptive TEMA. However, during periods of low volatility, the output may be noisy, so a standard deviation filter is employed to decrease choppiness, yielding a highly responsive TEMA without the noise typically caused by low market volatility.
█ What is Jurik Volty?
Jurik Volty calculates the price volatility and relative price volatility factor.
The Jurik smoothing includes 3 stages:
1st stage - Preliminary smoothing by adaptive EMA
2nd stage - One more preliminary smoothing by Kalman filter
3rd stage - Final smoothing by unique Jurik adaptive filter
Here's a breakdown of the code:
1. volty(float src, int len) => defines a function called volty that takes two arguments: src, which represents the source price data (like close price), and len, which represents the length or period for calculating the indicator.
2. int avgLen = 65 sets the length for the Simple Moving Average (SMA) to 65.
3. Various variables are initialized like volty, voltya, bsmax, bsmin, and vsum.
4. len1 is calculated as math.max(math.log(math.sqrt(0.5 * (len-1))) / math.log(2.0) + 2.0, 0); this expression involves some mathematical transformations based on the len input. The purpose is to create a dynamic factor that will be used later in the calculations.
5. pow1 is calculated as math.max(len1 - 2.0, 0.5); this variable is another dynamic factor used in further calculations.
6. del1 and del2 represent the differences between the current src value and the previous values of bsmax and bsmin, respectively.
7. volty is assigned a value based on a conditional expression, which checks whether the absolute value of del1 is greater than the absolute value of del2. This step is essential for determining the direction and magnitude of the price change.
8. vsum is updated based on the previous value and the difference between the current and previous volty values.
9. The Simple Moving Average (SMA) of vsum is calculated with the length avgLen and assigned to avg.
10. Variables dVolty, pow2, len2, and Kv are calculated using various mathematical transformations based on previously calculated variables. These variables are used to adjust the Jurik Volty indicator based on the observed volatility.
11. The bsmax and bsmin variables are updated based on the calculated Kv value and the direction of the price change.
12. inally, the temp variable is calculated as the ratio of avolty to vsum. This value represents the Jurik Volty indicator's output and can be used to analyze the market trends and potential reversals.
Jurik Volty can be used to identify periods of high or low volatility and to spot potential trade setups based on price behavior near the volatility bands.
█ What is the Triple Exponential Moving Average?
The Triple Exponential Moving Average (TEMA) is a technical indicator used by traders and investors to identify trends and price reversals in financial markets. It is a more advanced and responsive version of the Exponential Moving Average (EMA). TEMA was developed by Patrick Mulloy and introduced in the January 1994 issue of Technical Analysis of Stocks & Commodities magazine. The aim of TEMA is to minimize the lag associated with single and double exponential moving averages while also filtering out market noise, thus providing a smoother, more accurate representation of the market trend.
To understand TEMA, let's first briefly review the EMA.
Exponential Moving Average (EMA):
EMA is a weighted moving average that gives more importance to recent price data. The formula for EMA is:
EMA_t = (Price_t * α) + (EMA_(t-1) * (1 - α))
Where:
EMA_t: EMA at time t
Price_t: Price at time t
α: Smoothing factor (α = 2 / (N + 1))
N: Length of the moving average period
EMA_(t-1): EMA at time t-1
Triple Exponential Moving Average (TEMA):
Triple Exponential Moving Average (TEMA):
TEMA combines three exponential moving averages to provide a more accurate and responsive trend indicator. The formula for TEMA is:
TEMA = 3 * EMA_1 - 3 * EMA_2 + EMA_3
Where:
EMA_1: The first EMA of the price data
EMA_2: The EMA of EMA_1
EMA_3: The EMA of EMA_2
Here are the steps to calculate TEMA:
1. Choose the length of the moving average period (N).
2. Calculate the smoothing factor α (α = 2 / (N + 1)).
3. Calculate the first EMA (EMA_1) using the price data and the smoothing factor α.
4. Calculate the second EMA (EMA_2) using the values of EMA_1 and the same smoothing factor α.
5. Calculate the third EMA (EMA_3) using the values of EMA_2 and the same smoothing factor α.
5. Finally, compute the TEMA using the formula: TEMA = 3 * EMA_1 - 3 * EMA_2 + EMA_3
The Triple Exponential Moving Average, with its combination of three EMAs, helps to reduce the lag and filter out market noise more effectively than a single or double EMA. It is particularly useful for short-term traders who require a responsive indicator to capture rapid price changes. Keep in mind, however, that TEMA is still a lagging indicator, and as with any technical analysis tool, it should be used in conjunction with other indicators and analysis methods to make well-informed trading decisions.
Extras
Signals
Alerts
Bar coloring
Loxx's Expanded Source Types (see below):
HS,HH,LL,and EMA by: rpalconitHello everyone,
HS,HH,LL, and EMA stands for Hull Suite, Higher High, Lower Low and Exponential Moving Average.
Signal Features:
• Long Position: If the Higher High and Lower Low signals are LL and LH at the SUPPORT LEVEL, plot the Fibonacci Retracement and get retracement from 0.382,0.5 and 0.618 for EP. and your SL should be at 1.1 level of the Fibonacci, target TP should be 1.5 ratio. For confirmations the Hull Suite (HS) should be green color and on or below the Exponential Moving Average (EMA).
• Short Position: If the Higher High and Lower Low signals are HH and HL at the RESISTANCE LEVEL, plot the Fibonacci Retracement and get retracement from 0.382,0.5 and 0.618 for EP. and your SL should be at 1.1 level of the Fibonacci, target TP should be 1.5 ratio. For confirmations the Hull Suite (HS) should be red color and on or above the Exponential Moving Average (EMA).
You can change EMA length in any of your preference. The Default is 50.
Details about the indicator
INPUTS
Time Frame
• Time Frames Chart: You can select your preferred timeframe at the dropdown list. Default is 4H. Aside from Time Fame, I advice not to change anything at input default for better result.
STYLE
• Note: For effective signals results and to minimize noise, you need to uncheck first on the style tab: MHULL, BAR COLOR AND LINES.
Best regards,
ruelpalconit
Market Sessions - By LeviathanA simple indicator to help you keep track of 4 market sessions (default: Tokyo, London, New York, Sydney) in 4 different visual forms (boxes, timeline, zones, colored candles) with many other useful tools.
You can choose between 4 different market sessions. The default ones are Tokyo, London, New York and Sydney but you can easily customize the times, names and colors to make the script plot any session you need. Sessions can be viewed in 4 different ways: boxes, zones, timelines, or just colored candles, all with customizable appearances. You can make your chart cleaner by merging sessions overlaps, choosing a custom lookback period and also picking between various additional settings such as viewing session High/Low or Open/Close change in % or pips, hiding weekends, viewing the Open/Close Line to identify session’s direction and 0.5 level to see session’s “Equilibrium” and much more. More updates with interesting tools will be added in the future.
Note: The script will plot the correct default Tokyo, London, New York and Sydney sessions automatically, your chart/Tradingview app timezone does not matter! If you wish to tweak the open/close times of sessions, just make sure you input them in UTC (but even this can be changed later in the settings)
Settings Overview
SESSIONS
- You can show/hide Tokyo Session, rename it, change the color and set up start/end time.
- You can show/hide London Session, rename it, change the color and set up start/end time.
- You can show/hide New York Session, rename it, change the color and set up start/end time.
- You can show/hide Sydney Session, rename it, change the color and set up start/end time.
* Keep in mind that you can fully change and customize these sessions and therefore create any other sessions or a zone you wish to display.
ADDITIONAL TOOLS AND SETTINGS
1. “Change (Pips)” - this will add the pip distance between Session High and Session Low or the pip distance between Session Open and Session Close to the session label.
2. “Change (%)” - this will add the percentage distance between Session High and Session Low or the percentage distance between Session Open and Session Close to the session label.
3. “Merge Overlaps” - this will merge the overlapping sessions and show only one at a time (end of Tokyo is moved to start of London, the end of London is moved to the start of New York, end of New York is moved to start of Sydney and end of Sydney is moved to start of Tokyo).
4. “Hide Weekends” - this will prevent the script from plotting sessions over the weekend when the markets are closed.
5. “Open/Close Line” - this will draw a line from the session open to the session close (or current price, if session is ongoing).
6. “Session 0.5 Level” - this will draw a horizontal line halfway between the session’s high and the session’s low.
7. “Color Candles” - this will color the bars/candlesticks with the color of the session in which they occurred.
8. Display Type” - Choose between three different ways of session visualization (Boxes, Zones and Candles).
9. “Lookback (Days)” - this input tells the script to only draw sessions for X days back (1 = one day).
10. “Change (%/Pips) Source) - this is where you choose the source of “Change (Pips)” and ”Change (%) ” labels. Picking “Session High/Low” will show you the change between Session High and Session Low and picking “Session Open/Close” will show you the change between Session Open and Session Close.
11. “Input Timezone” - this defines the timezone of the session start/end inputs (you don’t have to change this unless you know what you’re doing)
Make sure to read future update logs to keep track of the most recent additions and settings of this script.
Box generation code inspired by Jos(TradingCode), session box visuals inspired by @boitoki's FX Market Sessions
Visible Fibonacci█ OVERVIEW
This indicator displays Fibonacci retracement and extension levels on the price chart using data within the chart's visible range, providing traders with an automated alternative to our well-known drawing tool .
█ CONCEPTS
Fibonacci sequence and the Golden ratio
The Fibonacci sequence is a sequence of numbers where each term is the sum of the previous two terms. In his book Liber Abaci , Fibonacci used this sequence to estimate the growth of rabbit populations. Although most commonly associated with Fibonacci, this numeric sequence appeared in Indian mathematics as early as 200 BC. As this sequence approaches infinity, the ratio of the last element to the preceding approaches the Golden ratio (1.618033...), a well-known metallic ratio theoretically observed in many natural and synthetic systems. Many traders believe that the Fibonacci sequence and the Golden ratio carry significance in the financial markets.
Fibonacci retracements and extensions
Fibonacci retracements and extensions are extremely popular in technical analysis. They are created by connecting two extreme points, typically pivot points, by a trend line and multiplying the range between them by the ratios of steps in the Fibonacci sequence, or more precisely, powers of the Golden Ratio, to produce estimated levels of support and resistance. The ratios used for retracement multipliers are typically the Golden ratio raised to the power of 0, -0.5, -1, -2, and -3, or 1, 0.786, 0.618, 0.382, and 0.236, respectively. It is also common to see traders use a retracement ratio of 0.5. The ratios used for extension multipliers are typically the Golden ratio raised to the power of 0.5, 1, 2, and 3, or 1.272, 1.618, 2.618, and 4.236, respectively. Traders often combine these retracement and extension ratios with others they deem significant for a more personalized output.
Zig Zag
Zig Zag is a popular indicator that filters out minor price fluctuations to denoise data and emphasize trends. Traders commonly use Zig Zag for trend confirmation, identifying potential support and resistance, and pattern detection. It is formed by identifying significant local high and low points in alternating order and connecting them with straight lines, omitting all other data points from their output. There are several ways to calculate the Zig Zag's data points and the conditions by which its direction changes. This script uses the highest and lowest values over a specified length to estimate the locations of pivots. The Zig Zag reverses its direction when a new high or low emerges in the opposite direction. Additionally, enabling the "Detect additional pivots" option in the script settings will locate extra pivots when the number of bars in which no new pivot occurs exceeds the Zig Zag length.
Visible Fibonacci
This script uses the chart's visible bars to calculate and display an automated Fibonacci retracement tool with extreme points based on either of two calculation methods:
• Visible Chart Range: This method uses the highest and lowest points from the visible chart range for Fibonacci level calculation.
• Visible Zig Zag: This method uses historical pivots from a Zig Zag indicator for level calculation. The "nth Last Pivot" input in the script settings controls how many pivots back from the last visible one will be used to calculate the Fibonacci levels.
As traders pan and zoom on their charts, the script dynamically recalculates its values explicitly using the bars within the visible range.
Note that levels drawn outside the range between the high and low points may affect the scale of the chart. To prevent this, select the "Scale price chart only" option in the chart settings.
█ FOR Pine Script™ CODERS
• This script utilizes functions from the VisibleChart library by our resident PineCoders . The library exploits the chart.left_visible_bar_time and chart.right_visible_bar_time variables, which return the opening time of the leftmost and rightmost bars on the chart. They are only two of many new built-ins in the `chart.*` namespace. See this blog post for more information, or look them up by typing "chart." in the Pine Script™ Reference Manual .
• This script's architecture utilizes user-defined types (UDTs) to create custom objects which are the equivalent of variables containing multiple parts, each able to hold independent values of different types . The recently added feature was announced in this blog post.
Look first. Then leap.
JustaBox_NY_LexThis indicator marks two boxes around the opening hour of the chosen session(s). One around the highs and lows and one around the highest open/close and lowest open/close for that hour., its main purpose if for backtesting the DR/IDR strategy but is useful for live trading as it auto adds the boxes and STD levels. The buy and sell signals that show up are not meant for trade entries, they just give an idea of whether there was a signal that day which is a close above or below the IDR (inner box lines), from there loops are started and it tests which STD levels get hit or if the opposite end of the box is crossed it considers it a stop out and closes the loops. The data from these loops can be pulled to email and then excel using the alert system.
This is the first thing i've ever coded, I put alot of work into it but id recommend going thru a few days randomly and checking the data matches up as expected.
This indicator only pulls data from the NY session, I have two others of identical functionality, the only difference being they pull the data from the London and Tokyo sessions respectively, wanted to include all three in one but I reached a limit. Search JustaBox_LDN_Lex and JustaBox_TKO_Lex
When live, once the hour of the chosen session resolves it marks the DR and IDR lines onward for a few hours, adds a 0.5 retracement line in the middle and STD levels above and below at 0.5, 1, 1.5, 2, 2.5, & 3.
There are labels that can be turned off, they show the prices these lines are set at.
Read the tooltips in the menu for more information.
(Might be self explanatory when you pull it but I'll add a key here for the titles of the data(had to keep them short due to character limit) and explain how the test works in the next couple of days but quickly:
Each STD levels has a true, false or NaN state, if its a buy signal for the session the STD levels below the bottom DR are turned off and will return NaN, but if its a sell signal they'll return false if they don't get hit true if they do. Each level has a cross time this is a bar number, you also get a bar number for the last bar in the DR box and one for when you received the buy or sell signal, so you subtract one of these from the STD X number and it will give you number of bars since 10:30 for NY sess or from when you received signal. Multiply that number by 5 to get the number of minutes. Gives prices for boxes, open and close prices of first and last candles in box and price of the NY day open for all sessions)
True Range Outlier Detector (TROD)True Range Outlier Detector (TROD) shows you weather or not a candle is larger than normal. This works by taking the normalized true range and if the candle exceeds a score of 0.5 or -0.5 it triggers the outlier detection. This is great for building strategies if you want to refrain from buying larger than normal up or down ticks. The only feature is the ability to change the lookback period of the normalization. I hope you find this as useful as I do!
Enjoy!
Hurst Exponent (Dubuc's variation method)Library "Hurst"
hurst(length, samples, hi, lo)
Estimate the Hurst Exponent using Dubuc's variation method
Parameters:
length : The length of the history window to use. Large values do not cause lag.
samples : The number of scale samples to take within the window. These samples are then used for regression. The minimum value is 2 but 3+ is recommended. Large values give more accurate results but suffer from a performance penalty.
hi : The high value of the series to analyze.
lo : The low value of the series to analyze.
The Hurst Exponent is a measure of fractal dimension, and in the context of time series it may be interpreted as indicating a mean-reverting market if the value is below 0.5 or a trending market if the value is above 0.5. A value of exactly 0.5 corresponds to a random walk.
There are many definitions of fractal dimension and many methods for its estimation. Approaches relying on calculation of an area, such as the Box Counting Method, are inappropriate for time series data, because the units of the x-axis (time) do match the units of the y-axis (price). Other approaches such as Detrended Fluctuation Analysis are useful for nonstationary time series but are not exactly equivalent to the Hurst Exponent.
This library implements Dubuc's variation method for estimating the Hurst Exponent. The technique is insensitive to x-axis units and is therefore useful for time series. It will give slightly different results to DFA, and the two methods should be compared to see which estimator fits your trading objectives best.
Original Paper:
Dubuc B, Quiniou JF, Roques-Carmes C, Tricot C. Evaluating the fractal dimension of profiles. Physical Review A. 1989;39(3):1500-1512. DOI: 10.1103/PhysRevA.39.1500
Review of various Hurst Exponent estimators for time-series data, including Dubuc's method:
www.intechopen.com
fibo_levelsLibrary "Fibo_levels"
Calculate Fibo levels from any 2 levels. Your need know only 2 price of 2 levels for calculate any level of Fibo: function 'fibo_lvl',
or calculate array of price Fibo levels : function 'fibo_lvls'
fibo_lvl(fibo_lvl1, price1, fibo_lvl2, price2, calc_level)
Parameters:
fibo_lvl1 : First of any level of fibo from 0 to 1 (example 0.236)
price1 : Price for 1th any level (example 2356.1)
fibo_lvl2 : Second of any level of fibo from 0 to 1 (example 0.382)
price2 : Price for 2th any level (example 2497.4)
calc_level : Price for level to calculate (example 0.5)
Returns: return price for calc_level fibo
fibo_lvls(bars, time1, time2, fibo_lvl1, price1, fibo_lvl2, price1)
Parameters:
fibo_lvl1 : First of any level of fibo from 0 to 1 (example 0.236)
price1 : Price for 1th any level (example 2356.1)
fibo_lvl2 : Second of any level of fibo from 0 to 1 (example 0.382)
price1 : Price for 2th any level (example 2497.4)
Returns: array of price for fibo levels : (0.0, 0.118, 0.236, 0.384, 0.5, 0.618, 0.786, 1.0, 1.27,-0.27,1.618,-0.618)
Standard Power Option [Loxx]Standard power options (aka asymmetric power options) have nonlinear payoff at maturity. For a call, the payoff is max(S^i - X, 0), and for a put, it is max(X - S^i , 0), where i is some power (i > 0). The value of this power call is given by (see Heynen and Kat, 1996c; Zhang, 1998; and Esser, 2003). (via "The Complete Guide to Option Pricing Formulas")
c = S^i * (e^((i - 1) * (r + i*v^2 / 2) - i * (r - b))*T) * N(d1) - X*e^(-r*T) * N(d2)
while the value of a put is
p = X*e^(-r*T) * N(-d2) - S^i * (e^((i - 1) * (r + i*v^2 / 2) - i * (r - b))*T) * N(-d1)
where
d1 = (log(S/X^(1/i)) + (b + (i - 1/2)*v^2)*T) / v*T^0.5
d2 = d1 - i * v * T^0.5
b=r options on non-dividend paying stock
b=r-q options on stock or index paying a dividend yield of q
b=0 options on futures
b=r-rf currency options (where rf is the rate in the second currency)
Inputs
S = Stock price.
K = Strike price of option.
T = Time to expiration in years.
r = Risk-free rate
c = Cost of Carry
V = Variance of the underlying asset price
pwr = power
cnd1(x) = Cumulative Normal Distribution
nd(x) = Standard Normal Density Function
convertingToCCRate(r, cmp ) = Rate compounder
Numerical Greeks or Greeks by Finite Difference
Analytical Greeks are the standard approach to estimating Delta, Gamma etc... That is what we typically use when we can derive from closed form solutions. Normally, these are well-defined and available in text books. Previously, we relied on closed form solutions for the call or put formulae differentiated with respect to the Black Scholes parameters. When Greeks formulae are difficult to develop or tease out, we can alternatively employ numerical Greeks - sometimes referred to finite difference approximations. A key advantage of numerical Greeks relates to their estimation independent of deriving mathematical Greeks. This could be important when we examine American options where there may not technically exist an exact closed form solution that is straightforward to work with. (via VinegarHill FinanceLabs)
Things to know
Only works on the daily timeframe and for the current source price.
You can adjust the text size to fit the screen
Moneyness Options [Loxx]A moneyness option is basically a plain vanilla option where the strike is set to a percentage of the future/forward price. For example, a 120% moneyness call would have a strike equal to 120% of the forward price. A 120% moneyness put would have a spot equal to 120% of the strike. The value of this option is given in percent of the forward. The value of a moneyness call or put is thus given by: (via "The Complete Guide to Option Pricing Formulas")
c = p = c^-rT * (N(d1) - LN(d2))
where L = X/F for a call and L = F/X for a put, and
d1 = (-log(L) + v^2*T/2) / (v*T^0.5)
d2 = d1 - (v*T^0.5)
b=r options on non-dividend paying stock
b=r-q options on stock or index paying a dividend yield of q
b=0 options on futures
b=r-rf currency options (where rf is the rate in the second currency)
Inputs
S = Stock price.
K = Strike price of option.
T = Time to expiration in years.
r = Risk-free rate
c = Cost of Carry
V = Variance of the underlying asset price
lambda = Jump rate per year
cnd1(x) = Cumulative Normal Distribution
nd(x) = Standard Normal Density Function
convertingToCCRate(r, cmp ) = Rate compounder
Numerical Greeks or Greeks by Finite Difference
Analytical Greeks are the standard approach to estimating Delta, Gamma etc... That is what we typically use when we can derive from closed form solutions. Normally, these are well-defined and available in text books. Previously, we relied on closed form solutions for the call or put formulae differentiated with respect to the Black Scholes parameters. When Greeks formulae are difficult to develop or tease out, we can alternatively employ numerical Greeks - sometimes referred to finite difference approximations. A key advantage of numerical Greeks relates to their estimation independent of deriving mathematical Greeks. This could be important when we examine American options where there may not technically exist an exact closed form solution that is straightforward to work with. (via VinegarHill FinanceLabs)
Things to know
Only works on the daily timeframe and for the current source price.
You can adjust the text size to fit the screen
Forward Start Options [Loxx]A forward start option with time to maturity T starts at-the-money or proportionally in- or out-of-the-money after a known elapsed time t in the future. The strike is set equal to a positive constant a times the asset price S after the known time t. If a is less than unity, the call (put) will start 1 - a percent in-the-money (out-of-the- money); if a is unity, the option will start at-the-money; and if a is larger than unity, the call (put) will start a - 1 percentage out-of-the- money (in-the-money).A forward start option can be priced using the Rubinstein (1990) formula: (via "The Complete Guide to Option Pricing Formulas")
c = S*e^(b-r)t * (e^(b-r)(T-t) * N(d1)) - alpha * e^-r(T-t) * N(d2))
p = S*e^(b-r)t * (alpha*e^r(T-t) * N(-d2)) - e^-(b-r)(T-t) * N(-d1))
where
d1 = (log(1/alpha) + (b + v^2/2)(T-1))/v*(T-t)^0.5
d2 = d1 - v*(T-t)^0.5
Application
Employee options are often of the forward starting type. Ratchet options (aka cliquet options) consist of a series of forward starting options.
b=r options on non-dividend paying stock
b=r-q options on stock or index paying a dividend yield of q
b=0 options on futures
b=r-rf currency options (where rf is the rate in the second currency)
Inputs
S = Stock price.
a = Alpha
T1 = Time to forward start
T = Time to expiration in years.
r = Risk-free rate
c = Cost of Carry
v = volatility of the underlying asset price
Numerical Greeks or Greeks by Finite Difference
Analytical Greeks are the standard approach to estimating Delta, Gamma etc... That is what we typically use when we can derive from closed form solutions. Normally, these are well-defined and available in text books. Previously, we relied on closed form solutions for the call or put formulae differentiated with respect to the Black Scholes parameters. When Greeks formulae are difficult to develop or tease out, we can alternatively employ numerical Greeks - sometimes referred to finite difference approximations. A key advantage of numerical Greeks relates to their estimation independent of deriving mathematical Greeks. This could be important when we examine American options where there may not technically exist an exact closed form solution that is straightforward to work with. (via VinegarHill FinanceLabs)
Things to know
Only works on the daily timeframe and for the current source price.
You can adjust the text size to fit the screen