Automated Option Price - Black-Scholes modelPlease make sure you are plotting this indicator on DAILY bars, not doing so will lead to unintended results. Also, make sure that you keep up to date the Risk-free interest rate, which you can consult (for U.S.) on ycharts.com.
This is an indicator that is meant to be used for Options Day Trading, but it can be useful for mid-term or leaps for I also enabled the possibility for user to input manually the Strike and Expiration date. I based the calculation on the Black-Scholes model. Variables included in the calculation are:
-Stock price (S): The current price of the underlying asset (e.g., a stock).
-Strike price (K): The predetermined price at which the option can be exercised.
-Time to expiration (T): The time remaining until the option expires, expressed as a fraction of a year.
-Volatility (σ): The annualized standard deviation of the stock's returns, which is a measure of the stock's price fluctuations.
-Risk-free interest rate (r): The annualized return on a risk-free investment, often approximated by the yield on a government bond.
The only variable I excluded from the original model was the Dividend yield (q).
U S E R I N P U T S:
1. AUTOMATIC calculations enabled:
i) Strike price (K):
Automatically calculate the strike price for both call and put options based on the stock's closing price. The logic follows a set of rules to determine the strike prices which will usually be Out-of-the-Money (OTM):
-If the stock's closing price is between 1 and 60, the call strike price is rounded up to the nearest whole number, while the put strike price is rounded down to the nearest whole number.
-If the stock's closing price is between 60 and 90, the call strike price is rounded up to the nearest whole number and increased by 1, while the put strike price is rounded down to the nearest whole number and decreased by 1.
-If the stock's closing price is between 90 and 120, the call strike price is rounded up to the nearest whole number and increased by 2, while the put strike price is rounded down to the nearest whole number and decreased by 2.
-If the stock's closing price is above 120, the call strike price is rounded up to the nearest multiple of 5, while the put strike price is rounded down to the nearest multiple of 5.
By applying these rules, I just tried to ensure that the automatically calculated strike prices are tailored to the stock's price range, allowing for more accurate option pricing calculations.
ii) Time to expiration (T):
The indicator will consider this week’s expiration contracts (Friday) only when the current day/bar = Monday. If Tuesday or older it will consider the expiration date of the next week’s Friday (because we are not Theta gamblers, right?).
If you are not comfortable with above for whatever reason, you can always…
2. Enter inputs MANUALLY
First make sure you UNTICK the boxes for automatic calculation.
i) Strike price (K) – Self-explanatory
ii) Time to expiration (T) – Just make sure that the horizon you are inputting matches with the next parameter (e.g. you would not input a Monthly risk-free interest rate for a Leap).
iii) Risk-free interest rate (r) – You can pull this data from the web. Here’s the link I used to define the value that this indicator was launched with:
ycharts.com
Don’t get obsessed with updating this daily if you are using this for day trading, you will notice that weekly may be more than enough.
V O L A T I L I T Y
Not option to manually input Volatility so I’ll explain how it is calculated in this script:
I considered two measures of volatility; one is derived calculating the annualized volatility using the standard deviation of daily returns and the second one is the ATR-based annualized volatility. I then used a ‘combined’ approach with the harmonic mean and the arithmetic mean of these results which can help account for the variability in the option prices calculated with different volatility estimates, which can be more robust when dealing with outliers or skewed data. I back tested with some samples of actual option prices and found that this approach is the one that got results closer to the actual bids.
T A B L E
Nomenclature to read rows is:
Option Strike Price | Type of Option (Put or Call) @ The current Close or at 50% level of bar | Estimated Price
*The Option expiration Date showed as dd-MMM as part of the headers.
Second and third row (color 1): These will show the calculated value for the Put/Call, assuming you are buying at the CURRENT price of the stock.
Third and Fifth row (color2): These will show the calculated value for the Put/Call, assuming you buy at the 50% level of the current bar (this is the value that the contract WOULD HAVE at the 50% level of the bar).
If you plot the indicator during market hours it will obviously update as price moves, this is an intended feature.
L I M I T A T I O N S
The Black-Scholes model, like many other models, has its limitations and will oftentimes provide inaccurate option prices in all market conditions. High volatility events, such as earnings announcements, can lead to significant price fluctuations that are not fully captured by the model.
The model assumes that the stock price follows a continuous random walk with constant volatility, but in reality, volatility can change over time, and stock prices can exhibit jumps, especially around significant events like earnings announcements. This can cause the model to underestimate the true option price in such situations.
Please make sure that you first back test on the symbols you trade to ensure the information presented by this indicator will suit your trading strategy. You will find that the delta between the proposed price of the indicator versus the actual price may differ significantly in some symbols while for others it will be very close. For instance, today (13APR23), the prices for AMD, DIS, AAPL (puts only), were very close to actual bids, whereas TSLA differ significantly (but then again, take a look at the calendar and this last symbol is having earnings next week which may add a premium to the contracts)… I am sure you will get your own conclusions and applicable use cases based on the data you test with.
As always, be wise and methodical on the investment or trading decisions you make!
Puts
Ichi-Price WaveWelcome to the Ichi-Price Wave. This indicator is designed for day trading options contracts for any ticker, using a number of indicators — Ichimoku Cloud, Volume-Weighted Average Price, Stochastic Relative Strength Index, Exponential Moving Average (13/48) — and calculating how they interact with each other to provide entry and exit signals for both Calls and Puts on normal days. ****Read the Important Information section before opening any positions based on this indicator. (Also *NFA)
The general concept is that you, the trader, are a Surfer 🏄🏾 who rides the best waves in deep water until it gets dangerous.
Emoji storyline: The 🏄🏾 emoji (Call or Put, depending on the color of its Green or Red label, respectively) indicates an upcoming *potential* entry that, for a number of reasons, may be disregarded. (See: Important Information section below). And just as there are no certainties in the stock market itself, the tiered exit signals are ranked by low 🐬, medium 🦈 and high risk 🦑 tolerance. (In other words, it's relatively safe to surf with dolphins around, but there's the off chance they even strike trainers and become aggressive. It's more dangerous to swim with sharks. And on the unlikely, rare occasion you see a literal, giant, mythical, ship destroying Kraken 😬 ... you definitely need to get out of the water.
Surfing for as long as possible reaps the greatest rewards — but risk/reward are to be considered for entries and exits. Exiting every time you see a 🐬 (E1) should secure profits nearly 100% of the time, but they'll be very minimal. Whereas surfing til you reach a Kraken 🦑 (which will not even appear on most Price Wave cycles) would reap the most rewards. (NFA: I recommend considering sharks 🦈 as an exit point for the majority of positions, and perhaps only keeping a few runners open with the hopes of finding that shiny Kraken. (On the non-Emoji chart, the low, medium and high risk exits are named E1, E2 and E3, respectively. Got to the indicator's Settings > Inputs > then toggle EMOJIs ON/OFF)
Boring stuff: The entry 🏄🏾 signals are triggered by multiple conditions that must be all true. For Call entries, one of the necessary conditions is that the RSI's K must be maximum 10 (this can be changed in default). This, along with another condition where current price must be below the VWAP Lower Bound 1, serves as a great reference point showing the stock price is currently uncomfortable where it is and may likely soon snap back closer to the VWAP, perhaps even to the other side due to a pendulum effect.
Important information
Relying on those two factors for setting entry and exit points are great for normal days. (Normal, as in the ticker price bounces within a channel (e.g., ≤3% + or -) that's trending slightly bullish or bearish depending on greater market trend). But there are abnormal days where news catalysts (e.g., CPI data, CEO scandals, unexpected company data release, etc.) trigger FOMO and FUD, ultimately rendering the logic behind most indicators non applicable (e.g., RSI's "buy when oversold"). On the chart, this indicator accounts for this with two measures:
One, you should only "Surf" in the water. That is, there are two bands — Shallow and Deep Water. Any "Surf" emojis where price action is outside of the water should be ignored**. Two, there are additional EMOJIs that show you "Bearish trend" ⛈ and "Bullish trend ☀️. (Story time again: You obviously shouldn't surf in thunder and lightning. But also, surfing in the blistering sun with no clouds in the sky during a heatwave is also dangerous to your health.)
You can use these two measures to disregard the "surfers" suggesting you join them in opening a position in the suggested direction. And surfers followed by Cloud EMOJIs — 🌤️ (Put) or 🌧️ (Call) — can be used as "perfect entry" points. (The clouds represent weather being less extreme and better for surfing).
(**While these should mostly be ignored, these have not been muted because there is the possibility of a very strong turn around if you happen to catch the last one (which is not ideal for risk-averse traders). Use other indicators, such as the MACD and trend lines, to find potential bottoms (or tops) as price action plunges (or soars) due to abnormal news circumstances.)
Entry and exit buffers
At the beginning of each day, most indicators usually are not immediately calibrated correctly due to premarket trading and open market (at least to the degree that the day's sentiment can be best read from them due to the amount of volatility). What I recommend when using this indicator is disregarding signals during the first 15 minutes (or possibly 30 minutes) of market open to get the best results. And also, considering this indicator is meant for day trading (i.e., not holding positions overnight), disregarding ENTRY signals for the last 45 minutes of the trading day could give yourself enough buffer on the back end for exiting comfortably.
RSI entry
Preparing for an entry when you see a surfer is recommended, but actually opening the position when you see a 🌤️ (Put) or 🌧️ (Call) would yield best results and avoid misfires — particularly when those two cloud EMOJIs are signaled when the RSI is overbought and K is at least 95 (Puts), or oversold and K at maximum 5 (Calls). (Story time logic: The cloud eclipsing the Sun means it's cooling off and better for surfing. And the rain cloud no longer having lightning means the "bearish" storm is possibly soon over).
Delta and the Greeks
You should experiment yourself, but keep in mind that this is for capitalizing off of a day's minor price swings (≤3% + or -). Entering a same day expiry contract that's deep OTM is not going to work with this indicator (even if you enter at a surfer 🏄🏾 and exit at a Kraken 🦑) because the price wave from one end to the other won't be enough to compensate for the other Greeks working against you. Use another indicator (or insider knowledge ... Just kidding, that's illegal, don't do that) if you want to buy those kind of contracts.
I personally purchase contracts w/ minimum 80% Implied Volatility and somewhere between 20-40 Delta. Having a nice range for yourself with these factors, depending also on the size of your own portfolio and the risk tolerance you have, will determine how much you're able to capitalize off successful entry and exits.
Tips
• I set stop losses 5-10% depending on the ticker. (e.g., $TSLA's volatility may require SL closer to 10% whereas using it on $SPY, a 5% could suffice). This is in addition to ignoring entry signals that don't meet the aforementioned two requirements (i.e., it's risky to Surf in shallow water, and you shouldn't try to Surf at all outside of the water, ref. Band 2 and outside of Band 2). Remember, this is the stock market — not the casino. We rely on strategy and risk management — not hope.
• It's recommended you use time intervals ≤ 5 min. (I use 1 minute and 5 min)
• Liquidity . Using these signals on a ticker with low liquidity (particularly if you enter on the Ask side), can reduce your profits to 0% or even to a loss even if you have a perfect entry and exit. I always point to SPY as the optimal bid-ask spread, but keep that in mind.
What's with the name "Ichi-Price Wave"?
The "Ichi" gives credit to Japanese journalist Goichi Hosoda, whose indicator I used in conjunction with the 13/48 Exponential Moving Averages to create some of the exit signal conditions (e.g., E2🦈). That E2 condition is: Signal the first time the price intersects the Ichimoku conversion line *after* it has entered the VWAP UB/LB channel on one end and has exited on the opposite end). And it's named "Price Wave" because it's a literal price wave, which is where the fun surf narrative comes in. Also, "Price" doubles as me naming it after myself (in a less pretentious way). It's actually convenient that my last name is literally Price. Almost as if I was born for this. Nonetheless, this indicator is far more accurate in spotting directional changes than the free 13/48 cross, which oddly enough, influencers are charging for access. It's free, but the code is protected, for now at least.
Try it out on any ticker and look at how accurately it catches the tops and bottoms (keeping in mind to ignore misfires according to the two measures and also setting ~5-10% stop losses). And of course, use this in conjunction with other indicators. Ignoring all of my other emojis and simply setting surfer 🏄🏾 alerts could serve as additional confirmations for your personal strategy. Or you could simply enter at a surfer 🏄🏾 and exit when it reaches VWAP (or at least increase your Stop Loss to sell at break even if it doesn't reach). That strategy is the most conservative and would secure consistent gains). AND AGAIN, use your stop losses. Either it makes a move or it doesn't. Simply re-enter at a better point if necessary.
Weekly Put SaleWeekly Put Sale
This study is a tool I use for selling weekly puts at the suggested strike prices.
1. The suggested strike prices are based on the weekly high minus an ATR multiple which can be adjusted in the settings
2. You can also adjust the settings to Monthly strike prices if you prefer selling options further out
3. I suggest looking for Put sale premium that is between 0.25% to 0.75% of the strike price for weekly Puts and 1% to 3% of the strike price for monthly Puts
Disclaimers: Selling Puts is an advanced strategy that is risky if you are not prepared to acquire the stock at the strike price you sell at on the expiration date. You must make your own decisions as you will bear the risks associated with any trades you place. To sum it up, trading is risky, and do so at your own risk.
pricing_tableThis script helps you evaluate the fair value of an option. It poses the question "if I bought or sold an option under these circumstances in the past, would it have expired in the money, or worthless? What would be its expected value, at expiration, if I opened a position at N standard deviations, given the volatility forecast, with M days to expiration at the close of every previous trading day?"
The default (and only) "hv" volatility forecast is based on the assumption that today's volatility will hold for the next M days.
To use this script, only one step is mandatory. You must first select days to expiration. The script will not do anything until this value is changed from the default (-1). These should be CALENDAR days. The script will convert to these to business days for forecasting and valuation, as trading in most contracts occurs over ~250 business days per year.
Adjust any other variables as desired:
model: the volatility forecasting model
window: the number of periods for a lagged model (e.g. hv)
filter: a filter to remove forecasts from the sample
filter type: "none" (do not use the filter), "less than" (keep forecasts when filter < volatility), "greater than" (keep forecasts when filter > volatility)
filter value: a whole number percentage. see example below
discount rate: to discount the expected value to present value
precision: number of decimals in output
trim outliers: omit upper N % of (generally itm) contracts
The theoretical values are based on history. For example, suppose days to expiration is 30. On every bar, the 30 days ago N deviation forecast value is compared to the present price. If the price is above the forecast value, the contract has expired in the money; otherwise, it has expired worthless. The theoretical value is the average of every such sample. The itm probabilities are calculated the same way.
The default (and only) volatility model is a 20 period EWMA derived historical (realized) volatility. Feel free to extend the script by adding your own.
The filter parameters can be used to remove some forecasts from the sample.
Example A:
filter:
filter type: none
filter value:
Default: the filter is not used; all forecasts are included in the the sample.
Example B:
filter: model
filter type: less than
filter value: 50
If the model is "hv", this will remove all forecasts when the historical volatility is greater than fifty.
Example C:
filter: rank
filter type: greater than
filter value: 75
If the model volatility is in the top 25% of the previous year's range, the forecast will be included in the sample apart from "model" there are some common volatility indexes to choose from, such as Nasdaq (VXN), crude oil (OVX), emerging markets (VXFXI), S&P; (VIX) etc.
Refer to the middle-right table to see the current forecast value, its rank among the last 252 days, and the number of business days until
expiration.
NOTE: This script is meant for the daily chart only.
Khaos-PredatorThis Indicator is a full trading system that offers setups with Entries and Targets and Trade Management. This indicator is very accurate because it uses advanced setup detection and filtering logic.
There are 2 conditions that must occur for you to take a trade:
1) Price must move beyond the purple dot
2) The baseline must be green for long trades, or red for short trades.
The setup is triggered if the price passes the purple dot. Do not enter the trade unless price passes the purple dot. (You may wait for pullback to enter if you wish – but only after price traded beyond the purple dot firstly.) Remember, the trade is NOT active unless price moves beyond the purple dot.)
Each setup has 3 possible targets, which are dots colored green for longs and red for shorts.
You can use the baseline (which is a trend-line that is either green for bullish or red for bearish) to filter trades. You should only enter long trades if the baseline is green and only enter short trades if the baseline is red. One strategy would be if you enter a trade long, and reach the first target, you can take some profits, but still let the some of the position run and use the baseline to manage the trade.
Also, you can use the baseline for trailing stops.
To summarize:
• Purple Dot = Entry Trigger
• Green Dots = Long Targets (3 of them, for different price targets: target 1, 2 and 3)
• Green Square = Long Stop
• Red Dots = Short Targets (3 of them, for different price targets: target 1, 2 and 3)
• Red Square = Short Stop
The great thing about this indicator is that its universal, there are no settings necessary -- just put it on the chart and it finds high probability setups and paints it on the chart as they occur. There is NO Repainting with this indicator.
Of course, you can add other indicators if you wish, and even add this indicator to your existing trading system.
Again, this indicator does NOT repaint.
Once a setup is found, the indicator draws the entry trigger price and the targets at the setup bar close.
Setup Alerts are fully supported, via email, sms, and desktop notification.
*If you wish to license this indicator, please contact me via private message for details regarding access. Thank you.
LEGAL STUFF:
Risk Disclosure
Futures , forex, stock, crypto and derivative trading contains substantial risk and is not for every investor. An investor could potentially lose all or more than the initial investment. Risk capital is money that can be lost without jeopardizing ones’ financial security or life style. Only risk capital should be used for trading and only those with sufficient risk capital should consider trading. Past performance is not necessarily indicative of future results
Hypothetical Performance Disclosure
Hypothetical performance results have many inherent limitations, some of which are described below. no representation is being made that any account will or is likely to achieve profits or losses similar to those shown; in fact, there are frequently sharp differences between hypothetical performance results and the actual results subsequently achieved by any particular trading program. One of the limitations of hypothetical performance results is that they are generally prepared with the benefit of hindsight. In addition, hypothetical trading does not involve financial risk, and no hypothetical trading record can completely account for the impact of financial risk of actual trading. for example, the ability to withstand losses or to adhere to a particular trading program in spite of trading losses are material points which can also adversely affect actual trading results. There are numerous other factors related to the markets in general or to the implementation of any specific trading program which cannot be fully accounted for in the preparation of hypothetical performance results and all which can adversely affect trading results