## 16.1 – Calculating Volatility on Excel

In the previous chapter, we introduced the concept of standard deviation and how it can be used to evaluate ‘Risk or Volatility’ of a stock. Before we move any further on this topic I would like to discuss how one can calculate volatility. Volatility data is not easily available, hence its always good to know how to calculate the same yourself.

Of course in the previous chapter we looked into this calculation (recall the Billy & Mike example), we outlined the steps as follows –

- Calculate the average
- Calculate the deviation – Subtract the average from the actual observation
- Square and add up all deviations – this is called variance
- Calculate the square root of variance – this is called standard deviation

The purpose of doing this in the previous chapter was to show you the mechanics behind the standard deviation calculation. In my opinion it is important to know what really goes beyond a formula, it only enhances your insights. In this chapter however, we will figure out an easier way to calculate standard deviation or the volatility of a given stock using MS Excel. MS Excel uses the exact same steps we outlined above, just that it happens at a click of a button.

I’ll give you the border steps involved first and then elaborate on each step –

- Download the historical data of closing prices
- Calculate the daily returns
- Use the STDEV function

So let us get to work straight away.

**Step 1** – Download the historical closing prices

You can do this from any data source that you have. Some of the free and reliable data sources are NSE India website and Yahoo Finance.

I will take the data from NSE India for now. At this point I must tell you that NSE’s website is quite resourceful, and in terms of information provided, I guess NSE’s website is one of the best stock exchange websites in the world.

Anyway, in this chapter let us calculate Wipro’s volatility. To download the historical closing prices, visit – http://www.nseindia.com/products/content/equities/equities/equities.htm and click on historical data and select the search option.

Here is a snapshot where I have highlighted the search option –

Once you hit search, a set of fields open up, filling them up is quite self explanatory – just fill in the required details and hit ‘Get Data’. Do make sure you get the data for the last 1 year. The dates that I have selected here is from 22^{nd} July 2014 to 21^{st} July 2015.

Once you hit ‘get data’, NSE’s website will query your request and fetch you the required data. At this point you should see the following screen –

Once you get this, click on ‘Download file in CSV format’ (highlighted in the green box), and that’s it.

You now have the required data on Excel. Of course along with the closing prices, you have tons of other information as well. I usually like to delete all the other unwanted data and stick to just the date and closing price. This makes the sheet look clutter free and crisp.

Here is a snapshot of how my excel sheet looks at this stage –

Do note, I have deleted all the unnecessary information. I have retained just the date and closing prices.

**Step 2** – Calculate Daily Returns

We know that the daily returns can be calculated as –

Return = (Ending Price / Beginning Price) – 1

However for all practical purposes and ease of calculation, this equation can be approximated to:

**Return = LN (Ending Price / Beginning Price)**, where LN denotes Logarithm to Base ‘e’, note this is also called ‘Log Returns’.

Here is a snap shot showing you how I’ve calculated the daily log returns of WIPRO –

I have used the Excel function ‘LN’ to calculate the long returns.

**Step 3 **– Use the STDEV Function

Once the daily returns are calculated, you can use an excel function called ‘STDEV’ to calculate the standard deviation of daily returns, which if you realize is the daily Volatility of WIPRO.

Note – In order to use the STDEV function all you need to do is this –

- Take the cursor an empty cell
- Press ‘=’
- Follow the = sign by the function syntax i.e STDEV and open a bracket, hence the empty cell would look like =STEDEV(
- After the open bracket, select all the daily return data points and close the bracket
- Press enter

Here is the snapshot which shows the same –

Once this is done, Excel will instantly calculate the daily standard deviation aka volatility of WIPRO for you. I get the answer as 0.0147 which when converted to a percentage reads as 1.47%.

This means the daily volatility of WIPRO is 1.47% !

The value we have calculated is WIPRO’s daily volatility, but what about its annual volatility?

Now here is a very important convention you will have to remember – in order to convert the daily volatility to annual volatility just multiply the daily volatility number with the square root of time.

Likewise to convert the annual volatility to daily volatility, divide the annual volatility by square root of time.

So in this case we have calculated the daily volatility, and we now need WIPRO’s annual volatility. We will calculate the same here –

- Daily Volatility = 1.47%
- Time = 365
- Annual Volatility = 1.47% * SQRT (365)
- = 28.08%

In fact I have calculated the same on excel, have a look at the image below –

So with this, we know WIPRO’s daily volatility is 1.47% and its annual volatility is about 28%.

Lets double check these numbers with what the NSE has published on their website. NSE publishes these numbers only for F&O stocks and not other stocks. Here is the snapshot of the same –

Our calculation is pretty much close to what NSE has calculated – as per NSE’s calculation Wipro’s daily volatility is about 1.34% and Annualized Volatility is about 25.5%.

So why is there a slight difference between our calculation and NSE’s? – One possible reason could be that we are using spot price while NSE is using Futures price. However I really don’t want to get into investigating why this slight difference exists. The agenda here is to know how to calculate the volatility of the security given its daily returns.

Before we wrap up this chapter, let us just do one more calculation. Assume we directly get the annual volatility of WIPRO as 25.5%, how do we figure out its daily volatility?

Like I mentioned earlier, to convert annual volatility to daily volatility you simply have to divide the annual volatility by the square root of time, hence in this particular case –

= 25.5% / SQRT (365)

= 1.34%

So far we have understood what volatility is and how to calculate the same. In the next chapter we will understand the practical application of volatility.

Do remember we are still in the process of understanding volatility; however the final objective is to understand the option greek Vega and that really means. So please do not lose sight of our end objective.

Please **click here** to download the excel sheet.

### Key takeaways from this chapter

- Standard Deviation represents volatility, which in turn represents risk
- We can use NSE website to get the daily closing prices of securities
- Daily return can be calculated as log returns
- Log function in excel is LN
- Daily return formula = LN (Today’s Value / Yesterday’s Value) expressed as a percentage
- Excel function to calculate volatility is STDEV
- Standard Deviation of daily return is equivalent of daily volatility
- To convert daily volatility to annual volatility multiply the daily volatility by the square root of time
- Likewise to convert annual volatility to daily volatility, divide the annual volatility by the square root of time

Hi karthik, appreciate the excel calculations. makes it very simple for all of us. as far as options concerned , for e.g a put . the stock could fall to a particular price at various times and the option premium could be different at those times. i bought a put of lupin, and at one time the stock was at 1700 and the put was trading at 5. the stock went up to 1710 and when it re tested 1700 again the put was trading at 3 this time. is there a way to determine at what premium the option could trade at same stock price points at different times of the day. will you be touching upon this? thanks a ton.

Raj, what you have quoted is a very practical situation. The main reason for this would be changes in volatility. As this mini series on Volatility evolves, I’m sure you will get the answers yourself. Please stay tuned till then 🙂

Thanks for such a in depth practical calculation. However, can we calculate intra-day volatility ?

You can, this requires few higher order quantitative techniques.

Hello Karthik Sir,

Can you please tell me about those high quantitave techniques or provide me a link for the same if possible.

Thanks

Rahul

Rahul, quants is a very broad topic, Rahul. We are discussing few techniques here – https://zerodha.com/varsity/module/trading-systems/

Fabulous :-)… Wish I was so eager to learn during my school days ,lol.

I wish so myself, I was never a good student 🙂

Hi Karthik,

I would like to congratulate you on your stellar effort in making such a complicated topic so easy to digest. If i ever succeed in trading it will only be because of you, varsity and zerodha, i say it from my heart.

I am absolutely new to trading, i am having a confusion regarding options. What i understand is the option greeks are responsible for the change in the option prices, but there is also a separate demand-supply of each option which is created by the writers and the buyers of that particular option, so what moves the option premiums the demand supply interaction like in spot market/futures or the greeks alone(the individual options demad suppy has no role to play in setting the price) or both

A 2nd question, from the current nifty option chain i see that the 8400 slightly OTM puts price have appreciated but the slightly ITM 8400 calls have fallen, does it mean the market is getting more comfortable with the idea of nifty falling below 8400 in the next 3 days, is that a case for buying slightly OTM puts, i dont have the confidence/conviction to trade, i am trying to confirm my understanding by thinking in terms of a trade. Cannot thank you enough for what you have done for me.

Happy to read this Rajdeep…btw, if you succeed in trading (I hope you do), then its because of your heard work and nothing else. Coming to your query –

Option premium are a function of many factors, the essence of which are captured by the Greeks. For example the demand supply situation causes directional movement and thats captured by Delta. Effect of time is captured by Theta, volatility by vega etc. So Greeks capture all the necessary price variable

Regarding the 2nd question – Puts have appreciated due to two factors – Markets and fallen and volatility also has increased. You will understand and appreciate the effects of volatility over the next few chapter. Please stay tuned.

Infact as i was thinking about it, i have this question for futures too, derivatives as per definition move as per the movement of the underlying, but the derivative itself is also being traded, so what determines the price of the derivative, the derivatives supply demand dynamics or the movement of the derivatives underlying or both? e.g. nifty futures is a heavily traded derivative but is the spot market single handedly determining its price ?

A derivative derives its value from its respective underlying. Its unusual for the derivative to influence the price of the spot.

Hi Nitinji,

I have a query….right now the market is trading sideways,1 day it increases & few days it decreases….so my query is what option strategies should i employ for trading nifty options in such a volatile market…its very difficult to make money in such a market.

Any strategy that involves a credit and benefiting from time decay would be a good I suppose. Example – short strangle, straddle etc.

I know there is chapter coming on option strategies, but what I read so far had following thought, can you verify if it make sense?

Using the daily volatility we can predict how much can given stock move in next few days, so using this info couple of days before expiry can give us high probability trades for example, Syndicate Bank has volatility of 2.5% with CMP of 99.7, if it continues downward move its closing price on Thursday (expiry) should be minimum 92.xx, which means PUT option of SP 90 will be OTM and end up expiring worthless that means if we short it today at CMP of .40, we have high chances of earning .40 * 2000 800 RS in 4 days. I was tempted to say we have sure shot chance , but then nothing is sure in Market 🙂

Makes sense?

That part “nothing is sure in markets” certainly makes sense 🙂

Btw, yes you are more or less heading the right way, its just that we need to be aware of certain probabilities when it comes to such trades. I’m writing about this in the upcoming chapter. Please stay tuned.

(y) yep, eagerly waiting for next chapters

The next chapter is taking a bit longer…but I’m hoping it will be worth the wait 🙂

🙂 no worries, going thru TA section till then.

Awesome!

What will be the monetary consequences, if i leave this to settle by exchange in respect of brokerage+taxes+Short term capital gain? ( talking about the example given by WANNBETRADER)

It is always advisable to close ITM options before expiry to avoid the STT trap. We have a nice article explaining this, check this – http://zerodha.com/z-connect/queries/stock-and-fo-queries/stt-options-nse-bse-mcx-sx

and marked proved again that nothing is sure in market :)… it fell more than 9% today so the OTM put is not ITM with value from .40 to 1.40 :)…

🙂

sir,ofcourse its good but it will be applicable in reality,ithink the simpler ur the better,correct me if iam wrong

Simplicity is relative 🙂

hi kartik,

i have a doubt what is liquidity?

Liquidity is the ease at which you can buy or sell shares from the market – you can read more about it here – http://zerodha.com/varsity/chapter/nifty-futures/ (refer section 9.2).

Is there any resource readily available to project the Greeks value during market hours depending upon the movement? Calculating Greeks during market hours is difficult in intraday trading…

Not that i know of…but my experience tells me that over a period of time you will develop a sense for this and kind of start approximating the values in your mind 🙂

Hi Karthik

Using the daily/annual volatility, can we also calculate the range of the stock/index for the next day?

Shankar

Yes, we can do that…in fact chapter 17 (will be uploaded next week) will discuss this.

1. How to determine whether volatility is high or low for a particular stock option? For certain stocks the number can be interpreted as high whereas the same number can represent low for others. So what is the indicator based on which we can say it’s high or low for a particular stock? Is it by comparing the annualised historical volatility number with current IV number?

2. What is the expected time for an option volatility to raise before an event ? is it one day or five days or more than that?

Krish – super valid questions.

1) Yup – you are right here. To evaluate if today’s volatility is high or not wrt to historical vol…one of the methods is to compare today’s implied vol with historical vol. More on this topic in the coming chapters.

2) Cant put a number for this – but usually about 1 trading week before the event vol starts to increase. Disclaimer – This is purely from my personal observation, could be wrong here.

karthik,

how the volatility effect the option premium like delta ,theta .

We are getting there sarath 🙂 The idea is to understand volatility completely before understanding its effect on Options premium.

also wanted to ask, if annual volatility can be calculated with the help of a formula from a daily volatility by taking 365 days. how to calculate monthly volatility? by taking no. of days in a month i.e 30 or 31? or 20/22 i.e. actual no. of trading sessions?

Since we are taking the full calender of 365 days, it makes sense to take the actual number of days in the month i.e 30 or 31.

Since we are taking the full calendar days i.e 365, it makes sense to take the actual number of days in the month i.e 30 or 31.

Today nifty index suddenly showed a huge spike at 11Hrs which may be due to the no change in rate cut/behaved due to some other issues. How the programmed index which is running through the market partcipants immediately behaving according to the current scenarios? Is there any manual feed/input to the programmed exchange? If yes, then insiders are the players whose odds are high compare to the normal traders.. can you clarify.

No Vasanth – nothing like that happens. Index is like a car which can go at a speed dependent of the accelerating capacity of the driver….similarly the index derives its values which is dependent on the underlying stocks. No one can manipulate this. Suggest you read this chapter – http://zerodha.com/varsity/chapter/the-stock-markets-index/

Hello Mr Karthik,

Eagerly waiting for next chapters….kindly update the same…

In a day or 2 🙂

Thanks for update…

I know that you would update chapters in strategies in coming days but I want to know are there any strategies for intraday option trading? and what are those?

Abhijit – this is a hard query for me :). At the moment I wont be able to comment on this, so please do bear with me.

Hi Karthik,

One question regarding daily return calculation.

By using ((570.9-558.75)/570.9)*100 this formula daily return is :2.12%. But we are getting 2.15% using log base e.please tell me, Why you use log base e over linear return or even log base 10.

Thanks in advance.

Check this – http://tradingqna.com/3574/why-stock-returns-are-calculated-in-log-scale?show=3574#q3574

Karthik, while calculating daily return for hindustan petroleum using =LN() , the same is displayed as 0.061547 and, not in percentage points. how do i convert the same into %age? secondly, do we have to individually calculate for all the dates i.e the whole year one at a time using the above formula? or is there a formula to do the same in one go for all 365 days? calculating daily returns for all the

respective 365 days individually seems to be a humongous task. do clarify. thanks.

Raj – keep the cursor on the cell which contains ‘0.061547’ and then select the ‘%’ symbol that you can see in the Excel window. This button is placed right below the word ‘General’ which is somewhere in the top middle. Once you do this the figure should change to 6.1547%. Also you need not have to do this individually for all 365 day, just drag and drop the formula and it will automatically get calculated for all days.

thanks karthik, how do i drop and drag the formula? i am not proficient with the usage of excel.

You can check the excel tutorials here – http://chandoo.org/wp/2009/08/17/rows-and-columns-excel-formulas/

How can i get the NIFTY data the way you got it for WIPRO, am typing NIFTY, but no records are shown!!

Try this link – http://www.nseindia.com/products/content/equities/indices/historical_index_data.htm

How often do you calculate and update daily returns for use in trading? As these values are used for calculations in chapter after this, do we need to calculate it with new data every day

If you are writing options once a month it makes sense to do the calculation once that month.

karthik, i just calculated the daily volatility of glenmark. i found that there is a difference of 1 % between my calculation and that published on NSE…could this be because i extracted data for the last 6 months(closing price) and the NSE probably does it on a 1 year data? i used the =STDEV() for the same. thanks.

Yes, that does make a difference.

Hi,

I have one doubt.

How do we find all the above mentioned calculations for a Stock which has been Split/Bonus within past year?

is there any suitable change for the excel sheet calculations ?

For Example : Infy has been changed from 4000 to 2000 to 1000 in just 1 last year

Yes, for this the data has to be clean and adjusted for splits and bonus. Usually data vendors such as http://www.neotradeanalytics.com/ do this for you.

The neotradeanalytics site seems to be shutdown. Can you explain what do you mean by cleaned and adjusted ? Can we ourselves not do it ? Please explain with an example.

Yup, unfortunately they shut shop. Check https://www.truedata.in/ instead.

Clean and adjusted usually refers to cleaning up the data for corporate actions such as – splits, bonus, special dividends etc. Doing it yourself can be quite challenging considering these things happen everyday…for some stock or the other.

this calculation possible in amibroker

Not sure, I would suggest you to check with http://www.neotradeanalytics.com/ for this.

Thank you so much for the lesson.Really very simple to learn.Keep up the good work.

Thank you 🙂

Can we get data on metals,crudeoil like wipro.If yes what is the source. Can you explain this data so that we can trade in metals and crude oil.

i like to trade in MCX.

regards

You can, just check with http://neotradeanalytics.com/

I downloaded the price of asianpaints for a year from 17/10/14 to 16/10 /15. Total days involved were only 248 and not 365.May be because of holidays. Now to find out the mean are we going to divide the total value by 248 or 365? I found for finding annual deviation we are multiplying daily returns with 365. And for finding daily returns we divide annual deviation by 365. I do not understand the principle. Please elaborate the fact.

thanks

Yes, although there are only 252 trading days we end up taking 365 days. This is because of something called as the ‘Day count convention’. NSE uses a particular day count convention called Actual by Actual, which requires them to take 365 days in the denominator, hence we use the same.

Great. i was able to calculate STDEV or daily volatility and then annual volatility by your method.Here i multiplied the daily volatilty with 365 when the data was for 248 days.

Sure. Do remember to scale daily vol to annual vol you need to multiply it by square root of time.

I down loaded wipro from 22/07/14 to 21/07/15 and found out the daily return for each column and then added. The total was 0.01745. Now how to find the av. daily return. Is it to divide the total with 242. or some other method is to be used .

You have solved nifty for 1 year or so on. I want to solve it of my own. CMP shown is 8337. May i know the data from which dates is employed.I shall download it my self and calculate like you.

Please do not mind the trouble i am putting you in.This will improve my solving capacity.

Please select all the values in the daily return column and use the =AVERAGE function in excel. Also, just follow the instruction the excel, it should help you through.

You have already solved the nifty range from upper to lower. I am interested to down load the data and work to solve it. So kindly let me know the dates from which date to what date the data has been used. I Shall be grateful to you for your this act of kindness.

Sir please refer to the excel …it has the dates as well.

We can use VIX,right.

Does Gamma really helpful in trading.

It does, especially when your trading book is large!

1) instead of calculatin volatility on our own using excel …. can we simply reply & use the NSE READINGS ?

2) CAN SIMILAR VOLATILITY calculations be done for currency & commodity as well ?

3) for commodity we do not have options availability ….. can volatility be of any use for simple futures trading ? if yes,how ?

1) You can. Worst case you can even look at ATR (for intraday)

2) Yes

3) You can use it to place stop loss. Check the chapter on volatility applications.

sir , can you give direct link where this daily and yearly volatility is shown ? also can you show the same data for currency ?

i tried to find on NSE but was not able to get it .

thank you

Unfortunately, this is the only spot (as far as I know) on NSE where this information is present. I’m not sure about commodities. Sorry about that.

Sir, What is ATR and how to look

Regards

ATR is Average true range…its an indicator. Its a method identify the volatility of a stock or index. Standard technical analysis software packages have ATR indicators.

Hi Karthik Sir,

I am trying to load data of Nifty for volatility calculation. but It says no record found…..Why so?? Data for other stocks are being loaded by not for Nifty. please help me…

You can download data only in 1 year slots, try this link – http://www.nseindia.com/products/content/equities/indices/historical_index_data.htm

Its working Sir….!!! Thanks…!!

Welcome!

Sir, The values shown for Daily and Annual volatility in NSE site are with 1 yr data or some other. kindly clarify. Thanks

Yes, it is for 1 year.

Why annualised volatility of NIFTY changes everyday ? According to the excel provided by you it remains almost constant. On 18/11/2015 annualised volatility of nifty was 15.49% and on 19/11/2015 it is 16.49%. According to the excel provided by you guys it comes to around 20%. Same is the case with bank nifty and other instruments.

Thank you.

T Barua

Volatility is a function of price. If the price moves drastically then volatility also changes. This must have been the case here.

Sir, Iam getting max historical data in NSE for 2 yrs. Where to look for more than 2yrs .

Regards

Change the years…date it back to older years and you should be able to get it. You can also try contacting them – http://www.nseindia.com/global/content/contact_us/contact_us.htm

CAN SOMEONE PLEASE SHARE DIRECT LINK OF NSE SITE PAGE WHERE ANNUAL & DAILY VOLATILITY OF EQUITIES AND CURRENCY BE FOUND ?

i have spent 3 days on NSE website …… didn’t found the page from where this screenshot is taken .

Ahesan4004

here is link

http://www.nseindia.com/live_market/dynaContent/live_watch/get_quote/GetQuoteFO.jsp?underlying=WIPRO&instrument=FUTSTK&type=-&strike=-&expiry=26NOV2015

By the way wat r u doing for 3 days on nse website 😉 🙂

for some foolish reason , kept on visiting historical data section and downloaded csv of almost everything .

i will bookmark this link now .

this is the first time i have trouble navigating websites .

Good luck, stay profitable!

THANKS A TON sir ….i hope i am not causing you too much trouble ……. i really appreciate your great work ….. hope someday we can meet , so that i can thank you personally 🙂

This is not trouble 🙂

Hope to meet you as well !

its okay yaar

just kidding….. Hota hai starting me aisa hota hai….NO problem

Stay hungry , Stay foolish.. (To learn new things in life)

🙂

Check this – http://tradingqna.com/25033/volatility-volatility-indices-currency-derivatives-website

Ahesan4004

http://www.nseindia.com/live_market/dynaContent/live_watch/get_quote/GetQuoteFO.jsp?underlying=WIPRO&instrument=FUTSTK&type=-&strike=-&expiry=26NOV2015

Karthik, help me to understand how do decide entry and exit points delivery with target of 2-5%.

Have you given this a shot – http://zerodha.com/varsity/chapter/support-resistance/ ?

sir,

i calculated nifty daily volatility as per my calculation daily volatility is 0.76% and in nse website is 0.81% i think calculation is fine right? and i have i a doubt as per your excel sheet i download nifty 30 days data and calculate and i got above volatility (.76) and also get 14.60% anual volatility , and i edit equation to F5*SQRT(30)for getting one month volitily and i got 4.19% am i right? please guid me !!

Perfect Sarath. Your calculations seems to be right.

sir as per daily volatility .76% ,if nifty yesterday close is 7800 so we can expect nifty will go 7740-7859 range(7800-(7800*.76/100 to 7800+(7800*.76/100) today is it right?

Sarath – suggest you look at the calculations here – http://zerodha.com/varsity/chapter/volatility-applications/

Section 18.1

Hi Karthik First of all i will like to thank you for explaining beautifully all the concepts be it technical, fundamental or Volatility Related.

i have been reading all the concepts from past 1 month and now i will like to work on Delta for Volatility based trading.

although i am very thorough with the practicals but i wanted my theory to be clear as well.

i have a small doubt related to calculation of Daily And Annual Volatility. the Example which you have shown in – Wipro Date ranging from 22nd July 2014 – 21st July 2015.

Now when i repeat it on Wipro It gives the exact same answer.

but when i tried it on all other current stocks like axis bank and be it nifty and compare it with Nse website there is a vast difference. can you help me with it.

i am attaching the snapshots below.

please help me

why is there a huge difference between my calculation based on the same formulas which you have provided in this module and the one provided on the nse website.

please reply asap

PS – The The Range of Data of Axis Bank is exactly last 365 days.

Sure, as I mentioned please try with futures data once.

Vikas – I suppose you are using the spot data, can you try this with futures data?

I tried it with futures data as well but the difference is huge. Have Nse changed their calculation methods or am I making a silly mistake. I don’t know but I proof checked it several times. It’s the same 40 % for axis bank where as Nse website states it around 20%

Please throw some light on the issue Sir

Sorry typo error in the above comment

Nse website states 28%

Are you using simple return or log returns to calculate the daily returns?

Sir I am using log returns formula which you have mentioned above in the module

Sure. Can you please check with simple returns once? Simple returns is calculated by dividing today’s close over yesterday minus one.

I have checked with the Simple returns formula as well for Axis Bank,

I am getting a Daily Volatility of around 2.14% and Annualized Volatility of Around 40% which is far more than mentioned on NSe Website. i.e. 28%

Can you Calculate once for a better understanding .

Date = Axis Bank for past 365 days

Will run through the calculations and figure out whats happening Vikas.

How can i get the currency data the way you got it for WIPRO?

Check this – http://www.nseindia.com/products/content/equities/equities/eq_security.htm

How much sample data required for calculation Standard deviation and average?

6 months to 1 year should be good.

Thanks.

Welcome!

Hi Karthik,

In 20.2 VOLATILITY CONE, can you please explain how was the annualized realized volatility calculated. You have explained how to calculate Volatility using historical data ( I believe the volatility calculated above in the earlier chapters was Historical volatility).

How did you calculated the realized volatility shown in the table Expiry date against annualized realized volatility.

Is there any other data to be used to calculate realized volatility?

Regards,

Dev

Devandra, I’ve been wanting to put up the excel for a long time. This piece has been authored by someone else and I’ve been waiting for the excel so that I could upload the same.

Thanks,

I searched on the internet for calculating realized volatility but couldn’t find an easy way to get through…I could only find methods to calculate Historical Volatility, but not as easy and comprehensive as explained in your module. really appreciate your efforts…

Is it possible for you to email me websites or source where I can find one.

Regards,

Dev

Realized volatility for today, is historical volatility for t’row 🙂

HI,

Thanks…Just finished reading module for Options…worth reading and so much to take in and analyze. Thanks again for the simplified explanation.

When can we have the excel sheet on realized Volatility calculation(the one you have been waiting for authorization)..please get it ASAP.

Regards,

Dev

Thanks Dev, I’ve been chasing the guy as well, but cant really push him much as he is getting married next week 🙂

I have tried a lot but i could not get the calculation right for the volatility cone in the chapter 20 module 5-2. we chatted earlier aswell. i checked the website and found that you have uploaded the volatility cone excel sheet in april 2016, but couldn’t find the source. can you help me with the link. i have been persistently trying to match the calculation with the no’s in the chapter but i am not able to get it right. Can you please help me with the link.

Regards,

Dev

You can download the excel and check out the calculation, this is there are the end of the chapter.

Hi Karthik.

Thanks a ton…at last i did find it…went through the calculations…now i got to dig the gem…lol

thanks again.

Regards,

Dev

Good luck, Dev 🙂

when I am calculating return by formula LN(today’s closing price/yesterdays closing price) it is coming in .00077 format and not in percentage % format.

what to do to get these values in % format?

Just click on the cell, and format it to %. Alternatively multiply the value by 100.

can you please share the path to check volatility published by nse site

Here you go –

http://www.nseindia.com/live_market/dynaContent/live_watch/get_quote/GetQuoteFO.jsp?underlying=INFY&instrument=FUTSTK&type=-&strike=-&expiry=25FEB2016

click on ‘Other Information’ right hand side, bottom.

How many types of volatility are there? what is implied volatility, India vix, volatilty index

Varun – all these are explained in the chapters related to Volatility.

Can we get ‘daily average return’ data from the nse (or any other) website like the daily volatility and the annual volatility.

Nope, no where that I know of.

Sir,

Where can we get scriptwise Implied Volatility data ?

Check the option chain on NSE, they usually publish it.

Excellent Sir,

Sir , how we get a daily and annul Volatility details from NSE, and Sir can i use daily volatility data for intraday trading using uptrend SD and Downtrend Sd and Variance.

Thanks

Check this – https://www1.nseindia.com/live_market/dynaContent/live_watch/get_quote/GetQuoteFO.jsp?underlying=INFY&instrument=FUTSTK&expiry=31MAR2016&type=-&strike=-

Make sure you click on ‘other information’ to see the volatility details.

Yes, you can use the SD values for intraday.

Thank you sir

Hello Sir,

What’s the formula for calculating the implied volatility of particular asset say nifty on a live basis. In the Nse site when they use to give the implied volatility. I have just wondered how they arrive at the calculation. Just eager to know.

Regards,

Sonjoe Joseph

Calculating the implied volatility is a fairly complex task. I’d suggest you take ViX values as an alternate to Nifty’s implied volatility.

Hi Karthik,

Thanks for the learning. I am a bit confused.

From the above can we say that SD and volatility are the same ?

Yes, Standard deviation is a measure of volatility aka Risk.

The difference between your calculation and NSE could be because NSE seems to be a Weighted one.

It uses 0.94 for the “Volatility till yesterday” and gives 0.06 for “Today’s Volatility”.

If you download the Daily Volatility, this formula is mentioned in the column header..as given below

Date, Symbol Underlying Close Price (A), Underlying Previous Day Close Price (B), Underlying Log Returns (C) = LN(A/B), Previous Day Underlying Volatility (D), Current Day Underlying Daily Volatility (E) = Sqrt(0.94*D*D + 0.06*C*C), Underlying Annualised Volatility (F) = E*Sqrt(365)

Hey, thanks so much for clarifying this. Will download the data and have a look.

HI,

can you advice historical volatility for check options greeks, or you can provide any options greeks calculator for india stock market.

NIFTY or other options contracts.

Have a look at this – https://zerodha.com/tools/black-scholes

Hi,

noted the online calculator provided, the data is coming far different. though it’s helpful

can you help to provide anything in excel worksheet which can backtest our results and payoff graphs on daily basis for working.

Check this – http://avasaram.com/

HI,

have checked this site, but there’s no data they have provided for indian stock exchange triall all optiosn and strategies finder or charting screener,

it;s just nothing coming over there for indian stock market. seems only related to USA markets.

Please help!!

I understand, but thats the best option I know off. Will keep you posted as and when I find something reliable.

My age is 70 years. I have basically no knowledge of Excel. I am able to follow you till Step 2. In Step 3 in point 4 you said–After the open bracket select all the daily return data points and close the bracket. In the bracket you have put C3:C245. Where do you get C245 from?

I want to get a firm grip of Options before I venture into trading.

Sir, knowing excel is not a must for successful options trading. In fact, there are people without basic education qualification who are otherwise very successful in trading, check this interview – http://zerodha.com/z-connect/zerodha-60-day-challenge/winners/10th-std-pass-market-wizard-from-thrissur

By the way, C245 refers to the cell which contains the last value in the list.

Thanks a lot for the prompt reply and inspirational interview of Joby. I have a few more lessons to go before I start trading. But trading

definitely I will do.

Good luck Sir.

Thanks for explaining the concept with simple steps and in a easy language!

Welcome!

Sir small correction:

“Square and add up all deviations – this is called variance”- should changed to “Square and add up all deviations and divide the sum by no of observations – this is called variance”

Hey, thanks for pointing this.

Hi Karthik,

I have a query regarding returns calc. What is the difference b/w returns calculated using Log function and Normal formula (End price/ Beg price – 1) ?

Log function brings all the numbers to a single plane (natural log), therefore gives a real sense of how the returns pan out.

Is it not appropriate to calculate log of net-working days than calendar days? supposing in a year there could be only 260 to 240 trading sessions when the price of share can move up or down.

Both these conventions are practiced, some people prefer 252 days while others prefer 365.

Hi Karthik,

I am not understing the fact that how will i determine where a particular option Strike is costly or cheap.

From the historical volatility i can derive the 1 SD which will provide me the range in which the underlying is likely to remain with a probability of 68%.

But as the implied volatility changes everyday, how can i deduce whether the option is costly or cheap ?

Also, what is concept of IV rank ?

The valuation of the option is really based on the premiums which in turn is dependent on things like Volatility. So one really needs to compare today’s volatility with the historical volatility to identify the expensiveness of options. Sometimes even due to market inefficiencies the prices can vary drastically from the fair price, making the options cheap or expensive.

Does the volatility take into consideration the trading holidays for annualized volatility or is it calculated on the full year i.e 365 days

I guess NSE takes into account 365 days, so I guess its ok to stick to this particular time count convention.

Hi karthik,

Can you tell me how to calculate the range of the historical volatility in last one year for index/stock? Actually I need the HV range over last one year period.

You need to calculate the daily volatility and then identify the max and min volatility to get a range. You should be able to do this on excel.

But sometimes the daily gain is negative. Then how to calculate? Is the data readily available on any site?

Nope, not that I know off. Also, -ve gains does not matter.

Can we use this daily volitality formula in intraday trading/BTST to determine what price level it can go next day considering the present days trend

Yes, I do know people who use intraday volatility to set up trades. But really not sure about the success rate here.

Hi karthik,

I have bought a 1040 CE option @9.25 6 days before the Infosys Q3 results for FY16-17 year and the spot was trading at 965 on the day of option purchase.In the run up to the results day,the spot slowly moved to 1000(the day before the Q3 results) and premium went to 16.25(because of the delta?).However on the results day the stock gapped up @ 1030 went to a high of 1040 and finally closed @975 and the premium came down to 5.So i have few queries over this trade.

1.Is it because of so much of volatility on the results day that the premiun came down by 11 points?

2.Even though the volatility cooled off and spot came to 975 ,the premium was trading @ 5 much lesser than the price(9) when spot was trading @ 965.Why is it so?

3.Also what could have been done better in this trade.I later came to know naked trades are dangerous.I made this trade to just guage my understanding of options.

Thanks in advance for you help

Sudheer

1) Yes, volatility is one of the prime driver of option premium….especially on results day.

2) Again, it is because of volatility. In fact, when you bought the option, the premiums were probably inflated (again thanks to volatility)

3) Check the case study here, you will appreciate it as its executed on Infy (aroud results time) – http://zerodha.com/varsity/chapter/case-studies-wrapping-it-all-up/ , section 23.5.

is there any source from where we can get the implied volatility of all F&O stocks of Nifty together and where they are also arranged as per their rank? eg- from 1st rank (highest IV) to last rank (lowest IV)?

No, not that I know off 🙂

Are you planning to launch this in zerodha trading platforms? I feel this should be present in all trading platforms.

We are working on this, will make some interesting announcements around this soon.

Sir can i know the intuition behind converting daily volatility to annual volatility?

I.e why are we doing SQRT 365 days ? Can’t we simply do the power to 365 days?

Looking forward for ur reply

No, there is a mathematical reason for using the Sqrt. I’ll try and post a link which explains this.

Ok sir! Looking forward!

Cheers!

Hi Karthik,

I computed the volatility for Wipro and SBI as on 21st March, 2017 with the NSE data as explained in the lesson. For Wipro, the results were matching with NSE data (1.19 % vs 1.16 %). But for SBI, the calculated volatility was double (1.94 %) vs the quoted (1.10%). For Cipla, the calculated daily volatility was 1.45 % whereas the quoted value was 0.98 %. What can be the reason for this difference? I enjoy your lectures. Thank you!

Ratinam, I’ve noticed the difference as well. One possible reason could be the day count convention…i.e the number of days in a year you maybe considering 365 while NSE maybe taking 250 or 252 days.

Karthik, I am afraid the values are daily volatility. Days count are not yet in the picture.

Got it. Where did you source your data from? Did you download the data from NSE itself?

Yes, Karthik. From NSE. I downloaded the csv file for the past 1 year.

Not sure Rathinam, I need to check this. Will get back to you on this. Thanks.

Hi Karthik,

I think this might be an out of the topic question, but wanted to understand what all technical/fundamentals we need to check in a company’s stock if we are planning to pick that up for Options trading ?

Also, how do we pick up a particular stock for intraday options trading ? Your insights on this please.

Thanks

Tirth

Tirth, frankly you can ignore the fundamentals when you are doing a short term trade. However, remember, whenever there is any strong fundamental news around a stock be doubly sure about the trade.

From a TA perspective, it really depends on what you are following. I personally prefer MA and candle patterns.

Is there any place (on NSE or elsewhere) where we can get historical IV (min & max) to check whether the current option is trading at above or below the mean of IV?

Dont think anyone publishes this info.

Sir,

Shouldn’t we be dividing by no of trading days instead of constant 365???

For markets it is usually the total number of trading days which excludes weekends and public holidays. This comes to about 252 days.

Sir if this simple calculation for volatility works better than what is the need of that fancy IV numbers published in NSE option chain

IVs are extract using Garch models. It is quite complicated.

Sir

How to get historical data for currency too

Tried to get but failed….

Explore RBI website, you may get it.

Hello Karthik,

How is it possible to have historical IV for stocks (in a index form)…thanks in advance

Rajib.

Not sure if there is any source for this. I agree, it would be nice to have this data.

Karthik,

In some US market intermediaries provide that data with their software but in India we don’t have it. I know it’s a management decision but if you guys come up with this feature it will be really awesome for option traders ?. Just a thought

Thanks.

We are trying to put up something around this, may take some time 🙂

Hello karthik sir,

I had calculated volatility for many times but a question is raising in my mind that if daily volatility information already available on nse website then why we have to calculate this everytime ( pls… don’t assume me lazy) infect i like to do calculation every time as it improves me

By the way can we also use NSE’s data to set up a trade…..offcourse what you will order me to do i will do the same your advice matter me because i tried a lot lot lot to understand option before ariving at varsity at the end varsity gave me the brake..

& you and your guys the reason behind thanks a lot….

Ankit, thanks for all the kind words about Zerodha Varsity 🙂

If the data is readily available on NSE the go ahead and use it. You can utilize the time saved for doing something more productive.

Sir how to practically use volatility?

Have explained this across all the chapters. Check this in particular – https://zerodha.com/varsity/chapter/volatility-applications/

First of all,

thanks sir for these wonderful lessons but i have two queries that.

1. Should we also consider Rakesh Jhunjhunwala’s money or investment as smart money?

2. can we calculate volatility for nifty for the month through india vix as we know that if we want to calculate the next month volatility through india vix say a month then the formula is (Vix / sqrt (T))%.

If we want to know that what is the monthly volatilityof nifty based on india vix (current-11.53),

we should divide 11.53 to square root of 12 (t-12, 12 30 days in one year) So the expected volatility based through vix for the month would be 11.53/3.464 =3.32%.

This expectation of monthly range of nifty can be used by the people who use options especially option writers.

Example, shorting option above or below the expected monthly range of nifty.

Sir, my question is can i use this method for the calculation of expected range

of nifty?

1) Yes, simply because he trades with a much larger capital base.

2) Sort of, but the best way to forecast Vol is by a volatility model, like GARCH. Unfortunately, I’m not too sure about the math behind that

Having said, you can still use the method you have mentioned for a quick and dirty calculation.

When i calculate historical volatility using B3/B2-1, the result differs a bit from what i calculate using logarithmic returns. According to you which is better?

For under a year, use simple returns…for multi years, I’d suggest you use log return.

Hi Karthik,

Instead of Manual Daily volatility calculation, better we can refer NSE itself ( Derivative ) …

Sure, you can do that as well 🙂

Hi Karthik,

Learning a lot for Varsity., Lot of things are getting clear and helping me to trade well. Between i wanted to share a technique which will reduce time spent of downloading data and doing various calculations.

We can actually automate this Volatility calculation using the Google Sheets ( aka Google Excel) , Creating a sheet and using Googlefinance formulas ( https://support.google.com/docs/answer/3093281?hl=en)

Ex: I Can create a new Google excel sheet and in cell A1 use the formula =Googlefinance(“NIFTY”,”PRICE”,TODAY()-300,TODAY())

The above formulas gives data for last 300 trading days and we can then use other formulas linking to this data, which gets updated every day.

Hey Chetan, thanks for sharing this information. I wasn’t aware of this at all, owe you one now 🙂

Hi Karthik,

I downloaded Maruti data for past one year from NSE site and have tried to calculate Daily Volatility which comes to 1.38 but on NSE it is coming as 0.88. Data taken is from 2nd of Aug 2016 to 1st of Aug 2017.

Any specific reason for it.

Not sure, I think there could be a date mismatch?

sir,why does zerodha only allow stock options to sell and not buy;any specific reason?

Of course, you can buy stock options. No restriction as such.

sorry sir,i meant to ask in BO as it shows buying calls is enabled only in nifty.

I guess it’s best if you can give a call to our support center.

Dear sir,

where do we get the data of average volatility of stocks & index to compare whether current volatility is high or low?

I guess you are talking about historical volatility. This has to be derived.

Karthik Rangappa many many thanks for explaining the volatility and greeks n find it useful.one doubt- for calculating weekly/ monthly volatility , one should multiply the daily volatility by sqrt of 7/30. is it that much only or we should take into account anything else? also if we use weekly/monthly close values then the volatility obtained using the abovementioned procedure is weekly/ monthly volatility and no further corrections are required? please answer

regards

girish

To convert daily volatility to yearly, simply multiply by Sqrt of 365….and to convert to monthly, multiply it by sqrt of 30. Basically, you have to multiply by square root of time.

Hi Kartik,

Thanks for the plethora of information you disseminate for free.To my knowledge Nse publishes the previous day daily DV and current day DV and AV in (view all end of the day reports) in market reports for around 1620 stocks.I find these SD calculations based on a closing price basis.Where can i get an intraday volatality measure say like for a tick and for time frames during a day(I minute ,5 minute, 15 ,minute likewise)?

Intraday vol is not available, Najeeb. YOu will have to take the daily vol and make estimates.

Regarding annual volatility calculation as the sum count(number of observations) comes to 245 wont it be an error if gone for 365., a situation of 4.98 days of volatality and 2.02 days of zero volatality.Had it been annual return calculation 365 seems ok.Pls guide.

Can you please rephrase this? I’m a little confused.

Standard deviation is seen taken based on the closing price of the traded day.This year the total number of trading days is 245 after shaving off weekend days and trading holidays.Leap year have 364 days.So normally we have 5 days volatility and 2 days of 0 volatality.Holidays need be considered too.Hence I wrote 2.02 days of non volatility .If the observation is the annual traded days is it not logical that annual volatility ought to be on the number of trading days too .Nse takes 365 days where may US traders take it as traded days.Which is more accurate ?

Got it.

I personally prefer 252 days, but I guess many prefer 365 considering NSE uses the 365/365 day count convention.

Kathik, One doubt ,What will be the percentage decay of the option on a daily basis daily supposing the underlying stays at at the money(theoretical) till the life of the option .Also is there any relation in percentage between daily volatility and theta decay percentage when underlying at the money? Please guide.

If all else equal, the loss in option premium owing to time decay is equivalent to the theta of the option.

If the volatility increases, then the premiums also tend to increase. This is especially true when there us fewer days to expiry.

Karthik.

Any foreseeable impact of delta decay(charm) vega decay(veta) gamma decay(color) on theta especially in leaps.Apart from gamma do any of the second degree and third degree derivatives has any impact that we need to analyse any of these?

The 3rd order matters if you have super large account size, where a small impact can cause a large Rupee value damage. For a typical retain book, it does not have any impact (at least as far as I understand).

Karthik –

1. Are Market holidays like Saturday and Sunday also considered (for time value) while calculating the Theta value? Then as your said Friday makes more sense.

2. While selling options, Is it that by the last Thursday of the month, the strike price shouldn’t hit the exact target number or is it like

even if it is near the target we lose?

Thanks!

Ash.

1) Yes, it does

2) Yes, last Thursday is when the expiry happens, so the spot should be higher than strike (for calls) and lower than strike (for puts) for the option to be profitable, anything else you lose money as an option buyer.

I was talking about option seller not buyer, like under what scenario at expiry will he be able to pocket the premium?

If I sell the 10000 nifty index call and upon expiry the market is at 9999, can I retain the premium and be profitable? Even though the difference is just 1 point.

Yes, as long the spot price is less than the strike (in case of calls) and more than the strike (in case of puts) the option seller can retain the entire premium.

Hi Karthik,

I am sure that there is a special place in heaven for guys like you !!!

Have been reading the Varsity Modules for some time now. They are great.

I have a few queries & would be delighted to have your feedback (whenever you get the time).

Query A

I downloaded the historical data for ONGC, Reliance, Bharat Electronics & Wipro. The daily volatility & the annualised volatility dont match at all.

I am using the same LN(b3/b2) / STDEV function & am getting results that are more than 3 times the actual daily / annual volatility posted on the NSE website.

What do you think is the issue ?

Query B

Can you suggest a few books to read only by Indian authors & mainly relating to the Derivative Segment.

Thanks

Thanks for the kind words, Nerav 🙂

Query A –

You need to convert daily to annualised volatility. Cannot really compare daily to annual without this conversion.

Query B –

Frankly, I’m a little out of touch on the latest books related to derivatives. That leads me to an interesting question – what do you think is missing in Varsity that can be plugged to make you more confident about markets? I’m asking this because Varsity, at least according to us, has most of the things you need to get started on derivatives 🙂

Hi Karthik,

Content is very well developed. Thanks for this.

I tried calculating annualized volatility for five different scrips but except HDFC bank no scrip is giving perfect or near to the actual number. I had compared with NSE website.

I had followed following steps.

1) Download last one year closing price from NSE

2) Calculate daily returns

3) Calculate SD

4) calculate annualised SD by multiplying with SQRT(365).

I am not able to calculate the correct Volatility. Can you please help. I am existing zerodha client.

I think NSE has a slightly different approach in calculating the volatility. By the way, how much is the difference? If it’s not much, then I’d suggest you ignore it.

Difference is huge sir. Almost double in some cases

I need to figure this out, Parmar.

If you want I can send the excels on which I have done working ..

Sure, maybe you can do that to [email protected]. Thanks.

Hello Kartik,

Inputting the data into Zeroda BS option pricing formula with Nifty yesterday underlying close at 10210.85 for a strike of 10300 call with expiry as 26/10/2017, 15 30 hrs ,current day AV as 12.26 and RBI 91day treasury bill yield as 6.07 outputs to 38.58 as the call option price.But if the same is input to as 24/10/2017 as expiry dates shaving of the 2 day trading holiday ,option call price reflects to 27.81(settlement price is 28.45). Diwali one trading hour would compensate to that.So my question is , Is not imputing calendar days give distorted results in option pricing.

It would be appreciated if in the expiry column the default time is set as 15.30 hrs instead of 23.59 hrs. On a detailed analysis coupling economic analysis data.fundamental analysis data,technical analysis data,quantitative analysis data and scientific analysis data(price equating to an object and applying the principles of newtonian motion , chaotic motion and butterfly effects) the calculation done taking calendar seconds an year seems to be wrong in the underlying and its subsequent expression in derivatives which even Nse calculates and it ought to on market activity timelengths and not on continuous timelengths.

Najeeb, I understand. We are working on something better for options.

In next Chapter

one of example you have mentioned

Daily Average Return = 0.04%

Annualized Return = 14.8%

How did manage to Get Daily Average return or Annualized return

what is formula to get et Daily Average return or Annualized return ???

Please advice

The calculation is explained in detail in the same chapter, Venu. Please go through it once. Thanks.

Hi Karthik

How to calculate historical volatility for the purpose of estimating IV ranking? More specifically, is that calculated from SD of underlying or using historical IV data?

Thanks

Pankaj

You can use the ‘=STDEV()’, function in excel to calculate the historical volatility. You can check the present day IV with historical IV, this will only give you a fair idea.

Thank Karthik. How to obtain historical IV?

You can use the excel function =’STDEV()’, for this. Have explained the same in the chapter.

What should I do when annualized daily return is more than annualized volatility?

Not sure how this is possible because the annualised volatility is a multiple of daily volatility and time. So annual volatility is always higher than the daily volatility.

Thanks Karthik.

In Excel,

Annualized Daily Return (365 trading sessions) = Average Daily Return * 365 = 0.07%*365 = 24.52%

Annualized Volatility = Daily Volatility * 365 = 0.67%*sqrt(365) = 12.79%

Range with 1SD is more than cmp on both cases for next year (37.31% and 11.72%)

Does this mean stock is on a bull run or Am I doing something wrong here?

Yes, you do tend to get such numbers when the stock is in a good (up) trend.

Karthik – Let me start off saying it has been a great pleasure going through your blogs. Hats off to you for making this easy for newbies like me!

Now, my question: Based on the steps you have given to calculate daily and annual volatility, I did the same exercise (on Jan 4th 2018) for Bank Nifty by first downloading the historical closing prices from NSE (period Jan 1 2017 till Dec 31 2017), getting daily returns, then getting the average and STDEV. I got daily avg as 0.14% & hence annual avg as 51.95%. Daily volatility calc came upto 0.77% and annual volatility as 14.7%. NSE showed daily volatility as 0.64 & annual volatility as 12%. I think I am slightly off but is my calc correct so far? I ask this because I got stumped when I continued:

With annual avg as 51.95% & annual volatility as 14.7%, I am now getting upper limit of 66.65% and lower limit of 37.25% which doesn’t seem correct because I believe the lower limit should be a negative number which is only possible if annual volatility is lesser than annual average but it is not in my case. Hence the lower limit is now higher than CMP! What am I doing wrong?

Harsha, you get a +ve lower range when the stock or the index has trended positively for the look back period you have considered. Likewise, you will get -ve values when the asset has drifted downwards. A mix of both +ve and -ve when the asset has been sideways (with probably a slight directional bias).

Hmm, makes sense, thanks. I was wondering if I was doing a mistake somewhere…

Good luck and happy learning, Harsha!

Difference in volatility due to taking day is 365 .Actual working is less 261

Ok.

Hello sir,

Is implied volatility on NSE option chain is anualised

Let’s say I am going to open an call position on the basis of volatility I expect the volatility will increase till coming budget

So my market view for 7 to 8 days from now

When I compare this volatility with historical volatility I got confused

Is there any way or any tool to decide what should be implied volatility for next couple of days

Or or should I need just avoid volatility and buy an ITM option and play Just intrinsic value…..

OR

In other case I am looking for a long strangle on Nifty 50

When I compare the Nifty 50 index performance near or on the day of budget I found that generally nifty to take an upward Trend firms slightly bullish on Nifty from now and expect and level of 11100 before middle March

I’m not guessing this I did some math on Nifty historical performance near budget

No just volatility confuses me.

Sir you did very good work in your city on volatility but I found something that it is not sufficient to understand volatility for practical purposes.

I personally found we need something more to understand volatility practically

So I request you sir, you personally put some lectures or video on YouTube or something like this

This will be a great help for us

I found just reading of volatility not enough to play or use volatility

Thank you sir

We will soon make few announcements on Option tools. I’d suggest you stay tuned on that. Meanwhile, if you expect the volatility to increase, then yes, buying an option makes sense. I’d prefer to trade ATM/Slightly ITM option considering the time to expiry is quite short.

I will try and create a volatility mini-course on youtube.

whe i downloded the csv file from NSE website for calucating volatility i noticed something. please check the historical data of kotak bank for last 365 days. 8th march 2017 data is given 2 times. and see the closing price 490 & 817. what is this? is this an error? if it is then such errors may lead to huge differences if unnoticed. whats the solution?

Will try and check this Chinmay.

sure sir..

People are telling good things about you, many are giving blessings also, how do you digest so many +ve words ? Because some people can’t handle success.

Please answer below questions as well

1.) In comments you have written about ATR also, how close ATR is in comparison to volatility ?

2.) How closely BETA of a stock and volatility ? Since if market moves some % then stocks movement is based on BETA.

Santosh, if there is one thing that market teaches is to stay grounded! One should never take such things for granted 🙂

1) ATR is a good proxy for volatility – you can use it as good as Vol

2) Beta measures the sensitivity of the stock wrt to an index, vol, on the other hand, gives you a sense of how volatility the stock is to the overall market.

Hello sir

I calculated the stdev for Mothersumi stock and it was 2.59% but on nse website it was 1.56%. I checked the minimum return from my excel sheet and it was -33.35% on July,5′ 17. But when i saw the chart it was smooth. Then i realised it might be a case of stock split, and it was.

My question is: Does the stock split affect the standard deviation of its daily returns? If it does then how could we calculate the correct standard deviation?

Thank you 🙂

Not really, in case of split, please consider the price chart adjusted for corporate actions.

Hello sir

Could you provide me the link to download split adjusted historical stock prices? I googled but didn’t get any save this https://www.nseindia.com/products/content/derivatives/equities/adjust_in_case_corp.htm

Thanks

You need to check with an exchange authorized data vendor for this, someone like Truedata will help.

Hello sir,

I have a question when we calculates historical volatility, i guess this is the volatility of nifty50 underlying or nifty 50 futures right sir,

i calculated same for last last year it worked out almost 9.25%. but how to Relate this volatility to particular option strike i mean we have lots of strikes available from DEEP ITM to DEEP OTM. in which some strikes has 12%VOL. 15%,40%55% or may have 75% volatility. let say i took a naked call buy Strike10700 @112/- with IV @19%. then will i say like”The historical volatility of Nifty 50 is @9.25% but this particular strike has volatility @19% so it is expensive Right Sir but i did not understood point here. How can i relate nifty option volatility to nifty underlying

in my sense we can take a good trade in nifty future by assessing nifty underlying volatility but not in option.

is somebody asking me to BUY 10700 strike @112/- because volatility looking low as compare to other strikes which has high volatilities like 25%,32%21% or like that Then i will reply him NO Dudei can not take this trade because i dont have historical data of this particular strike to calculate its Historical volatility i only have volatility smile and cone option to decide but thats not appropriate to me

OOOhhh. i dont know i have able to tell you what i am talking here, i really missing some features such as audio massages, video post, snapshot posting here. i tried google drive link posting but it was saying your comment is awaiting for moderation and yet not answered. Sir please please please provide some mutual interacting platform where peoples in need can directly approach you by audio video massaging or youtube live facebook live, because only reading and writing is not sufficient. if you say i can pay you for that

Thank you sir…..

That would be on Nifty 50, Index (underlying) and not on Nifty Futures. Although, you can calculate the same for Nifty futures.

Considering the underlying’s volatility to an option’s strike volatility is only a crude approximation, Ankit. However, you can look at the strike’s implied volatility and get a better sense of how the volatility is playing out. If the implied volatility is over 25% then yes, consider that as high. Or if the IV is around 8-12%, I’d consider this as low.

I’m very active on Varsity, so please do drop your queries and I will try and respond back as soon as I can.

Good luck and happy trading.

how to use daily volatility for intra day trading?

Do check this – https://zerodha.com/varsity/chapter/volatility-applications/

hii karthik,

can i perform the same calculations for base metals & bullions???? does it make sense??

Yes, you certainly can.

Hi Karthik,

For calculating yearly volatility you have taken 365 but in actual there would be close 250 working days so not sure which one to take 365 or 250. Please throw your thoughts if 365 should be taken and why?

You can actually take 252 as these are the total number of trading days.

Can we calculate intra-day volatility ? Please revert.

i calculated the daily and annual volatility based on above calculations for nifty and banknifty.

Nifty

Daily Volatility 0.65%

Annual Volatility 12.37%

bank Nifty

Daily Volatility 0.85%

Annual Volatility 16.17%

Please advice if the above calcualtion is ok

When traders talk about high volatility and low volatilty what is the percentage that you would say is high and low.

Can we refer india VIX for nifty and bank nifty?

What is the ideal volatility % for Nifty and bank nifty?

Annual Volatility = Daily Vol * Sqrt (365)

= 0.65% * Sqrt (365)

= 12.41%

You can refer to India ViX to get a perspective on how high/low the volatility really is. Also, there is nothing like ideal volatility 🙂

Hi,

Please see below link

https://drive.google.com/file/d/1zbOGojgXNkBNE7I5urm8JeFE4C1w54Oy/view?usp=sharing

As per my understanding one needs to buy call when volatility is low and sell when volatility is high

Today i bought a 10700 call when india vix was low. Surprisingly the market fell down in the morning and india vix was rising. To minimize the loss i hedged it with a put and scraped out with minute profit though this is a loss as i havent considered the brokerage charges and the end number of transaction costs. Kartik please tell me where do you think I went wrong?

This is really frustrating. Market is indeed a brutal place .It doesn’t give a 2nd chance.

1.Why is india vix volatility is falling when market is rising?

2.Which volatility should I refer ? India Vix or implied volatility?

When I saw the charts later I rued my decision of closing both the positions. If I could have held out on my call positions i could have made a decent profit. Panic got the better of me today. In last 10days I have missed such trades since last 10 days.

1) Shyam, in general, ViX increases when markets fall and ViX cools off when the markets increases

2) If you are trading Nifty, then I think India ViX should be good.

Holding to winning position requires a great deal of mental makeup, not really an easy 🙂 Hopefully, with time your trades will also evolve. Good luck.

Ohh I didnt know about this.

When traders talk about shorting when volatility is high which volatility are they referring to?

Also should we refer VIX for bank nifty also?

ALso i was checking the implied volatility for nifty 10700/750/800 CE yesterday. They were in range of 7.5-8% . and VIX was 11% .

Now how do I interpret this.

Sorry for bugging you with all these queries. Its just that last 10 days have been really frustrating

They are referring to IVs. ViX for Bank nifty may not be the best match, but nevertheless, you can. The comparison tells you that the IV for these options are lower.

Good luck, Shyam. Take your time to learn, the market always has 100s of opportunities.

So in short I need to buy when vix is falling and sell when vix is rising?

Yes, pretty much so assuming you are tracking other variables as well 🙂

Hello sir,

Could you please tell me from where we can get Historical Implied Volatility Data for stocks and Indices?

You will have to extrapolate this, Mehul. Quite a cumbersome process. Do check out Sensibull.com for historical IVs.

What’s up to every one, the contents present at this site are really remarkable

for people experience, well, keep up the good work fellows.

Hi Karthik,

Thanks for your sharing your in depth details in options. I would like to know where we can get the companies financial/latest update (specific date information) before getting air.

This will be updated on their website, under the investor section.

Hi Karthik,

I am absolutely loving the way the content has been written. Excellent work done!

Wish I had come across this earlier.

Was just playing around with the data of Wipro for the same period as in the example.

The reason for difference between NSE’s calculation of daily volatility and your calculation could be because it appears NSE took LN(Close Price/Open Price) while calculating daily return whereas you have taken LN(Close Price/Prev. Close Price). By using this formula, I’m getting daily volatility as 1.34%.

Keep up the good work! And thanks a ton!

Aditya, this could be one of the reasons, thanks for digging up 🙂

Also, thanks for all the kind words, keep learning 🙂

Hi Karthik,

I did the similar calculation for TCS from 24thAug2017 to 24thAug2018

And I got the following values which are different from the values on nse website

Daily volatility=4.67

Annual volatility =89.33

Please let me know where am I wrong

Someone commented earlier, I guess the difference is because NSE is using the opening prices for these calculations whereas I’ve used the previous day closing.

In this chapter you have calculated daily return of wipro using MS excel formula up to that I could understand but how you are calculating “mean” i.e average daily return is not clear to me please help me to understand.

Again, I use excel for this. Use the function ‘=average()’ for this.

While calculating daily return(using LN) your values are in % but mine are not in %.

Your calculation-

23-Jul-14 570.9 2.15%

I am calculating the same

23-Jul-14 570.9 0.021511917

how to get 2.15% in my case?

Are you using excel? If yes, maybe you should convert it to %.

Got it – your line expressed as a percentage 🙂

Cheers!

Good evening sir

I followed the same steps as yoy have told to calculate std dev. And for wipro for todays date i got standard dev 0.31 with formula =STDEV(E3:E245)

so this 0.31 is absolute or in percentage…

I mean this is 0.31% or do i need to multiply it with 100 now to get std dev %.

Thank you

Coz 31% daily volatility seems a bit unlikely.

But i assured you i followed all the steps….

And with formula =STDEV(E3:E245) AS per my excel sheet gives me 0.31…

So is this 0.31 already in percentage?

Please tell me if i am wrong

Your daily rate was in percentage so i changed my formula to =LN(B3/B2)*100

is this correct approach or this is the main root problem that i am getting my daily standard deviation as 0.31(or this 0.31 value is already in percemtage)

And thanks for you previous reply in delta 1 chapter….that cleared my query.

Have replied in your previous comment.

31% is very likely for stocks, Edward. The index’s volatility itself can go up to 22-25%, so for individual stocks, this is very common.

It should be expressed in %, so that would b 30.1%.

Dear Karthik,

Just wondering if Zerodha Sensibull has any plans to introduce a volatility lab ( something similar to what interactive brokers ) are offer.

I would request you to watch the video below to give you an idea of what I’m talking about. Obviously you don’t have to watch the entire video, just watch for 1-2 mins and you will know what am I referring about.

https://www.youtube.com/watch?v=zT1H4vjMTjc&t=367s

Thank you very much for all you do to make our trading experience better.

Best regards

Ron Kalra

I’ll bounce this off with the Sensibull team, Ron. Thanks for sharing.

Hello Kartik,

Where to find Bank nifty daily volatility. I am getting a daily volatility of 1.90 for the period from the very beginning to 29th Oct. I want to cross verify. Please guide me. Thanks

Check the ‘other information’ section at the bottom of this page -https://www.nseindia.com/live_market/dynaContent/live_watch/get_quote/GetQuoteFO.jsp?underlying=BANKNIFTY&instrument=FUTIDX&type=-&strike=-&expiry=29NOV2018

Thanks. For trading in Bank Nifty Options, do i have to calculate Volatility based on Bank nifty spot price or Future price. The site which you have referred shows the Volatility of Bank Nifty Future price. To trade in Bank Nifty options we refer to the Bank Nity Spot price. Where do i find Bank nifty Spot price Volatility? Kindly clarify. Thanks

You certainly can take the futures, Shekar.

Dear Karthik Sir,

How can we get adjusted stock price of stock. As after bonus declare of stock its price gets half (in case of 1:1), but in NSE historical data we can not get the adjusted price and for this I am suffering to calculate volatility in case of Infy (as 1:1 bonus declare by management in Sep 4, 2018).

Bhimalendu, usually NSE has clean data. Anyway, I’d suggest you download the data from Pi.

Hi Karthik,

Could you share the way data cleaning is done. For retail investors/traders like me, who track and trade a set bunch of stocks, that could be very helpful.

Hope that’s not too much of botheration 🙂

Thanks

Shernik, this can be quite tedious. It is best if you can download the data from a professional data source.

Dear Karthik

I am thinking seriously about working in HFT and algo trading firms. I want to know some of the advanced mathematical concepts, probability and statistical techniques that are used. Can you tell me a few references where I read these?

Thank you

Prafulla

I’d suggest you run through the Trading Systems module here – https://zerodha.com/varsity/module/trading-systems/

Dear Karthik,

I was trying to calculate the average return for few shares like L&T finance holding, Sunpharma, Jetairways and Yesbank. Calculated log return from 22 Dec 2017 to 21 Dec 2018. Now since each of their shares have gone down so their average daily and monthly return is coming out to be negative. Now how should i calculate their returns for the purpose of finding SD 1 and SD 2 in case I want to take a trade on the basis of Volatility. Kindly guide

Also now IV is not mentioned for different strikes. Where can I track the same?

You should probably check sensibull for this – https://sensibull.com/

Calculate the average return

Calculate the SD of returns

Build the range by adding and subtracting the avg return from the SD

If the stock has trended down, there is nothing we can do to alter the equation.

Dear Karthik,

I was trying to calculate the average return for few shares like L&T finance holding, Sunpharma, Jetairways and Yesbank. Calculated log return from 22 Dec 2017 to 21 Dec 2018. Now since each of their shares have gone down so their average daily and monthly return is coming out to be negative. Now how should i calculate their returns for the purpose of finding SD 1 and SD 2 in case I want to take a trade on the basis of Volatility. What should I do. Do i need to take the range for longer period if return is coming negative for one year I am calculating.

Sukhdeep, use shorter term time periods like 6 months. Also, as an alternative you can also use ATR.

Thank you sir for explaining the topics in a great manner and that too explaining almost every topic on stock market. Sir I wanted help from you on understanding how to calculate 2 standard deviation so that I get 95% probability levels.

Thanking you in advance for your help.

Vivek,

1) Calculate the average of returns

2) Calculate the standard deviation of returns – this is 1SD

3) Add and subtract 2*SD from the average returns, and you will get the 2SD.

What if I want to calculate realized volatility for 5 years. Do i do as above, that is, multiply the stdev by sqrt(252) ?

Realised volatility in a sense is the historical volatility 🙂

thats ok. Am asking that if I want to calculate the 5 year historical volatility, do I take the stdev of daily returns of last 5 years and multiply by sqrt(252) ?

Yes, calculate the avg and multiply by sqrt of 252.

Hi,kartik well explained topic..i am not a statistics guy but want a quick help from you..as you have calculated here daily volatility and annualized volatility.How do i calculated 52 week high volatility and 52 week low volatility.I want to calculate iv rank for any stock and formula needs an input like this IV Rank=100 x (the current IV level – the 52 week IV low) / (the 52 week IV high – 52 week IV low) .I can fetch current iv from NSE option chain.please help me in calculating my input 52 week iv low and 52 week iv high..

Gautam, I think Sensibull should provide this – https://sensibull.com/

I am curious to calculate my own IVR..Help me out with calculating 52 weeks high iv and 52 weeklow iv

sir ,

If I have to find 7 days volatility of nifty with the help of ATR band , so the atr band settings like period 7 , shift 1 and weekly time frame. correct ?

Yes, more on that here – https://zerodha.com/varsity/chapter/supplementary-notes-1/

Thank you Sir

Welcome!

We get Daily and Annual Volatality for all stocks directly here:

https://nseindia.com/archives/nsccl/volt/CMVOLT_22022019.CSV

Hi karthik,

Is there any standard formula for calculating volatility.

For eg: Annual Volatility- Daily Volatility*SQRT(365), similarly if we want to calculate for 7 days, or 30 days etc.

Thanks,

Manish

Manish, replace the 365 by the number of days you are looking at.

Why you have don’t calculated exact trading days insted of 365?

There are 252 trading days in a calendar year, Uday.

Hello Karthik,

I have a question on Implied Volatility. It is said that IV of the ITM should be considered by making any decision, right!

Now, as the index/stock will move up or down, the ITM will change often. Hence will be strike price change and also will the IV, as it to taken based on the ITM, right! So if one wants to compare/study IV movement wrt index/stock, should we change the IV accordingly to the Strike Price?

Regards

Anand

Anand, you look at the IV of an ATM strike and check the volatility level. Once you do so, the strike may transition from ATM to OTM or ITM, this is ok.

Hello Karthik,

Thanks for the answer.

First of all, the question I had asked, was about ITM… which was completely wrong. I was supposed to write it as ATM.

Still, you answered correctly.

Now, coming onto the right track… Which ATM Stirke Price should be selected, when say, NIFTY is trading at 10450.00, ignoring the multiples of 500’s. I mean to say that the Calls/Puts, in case of NIFTY, having a strike price as 9500, 10500, 11500.. like on, don’t have volumes. The best ones are in the multiples of 1000’s.

One more to add… should the IV, Open Interest and other greeks are to be considered for the NEXT month contract? If yes, then when… from the start of the contract or near the ending of the contract?

Regards

JB

Anand, ATM strike is the strike which coincides with the market price. So if Nifty is trading at 10450, ATM will be either 10400 or 10500.

Hi Karthik

While converting daily volatility to annual volatility, you considered time as 365 days. Wouldn’t it be proper if we consider 250 daily trading sessions, and hence multiply by SQRT(250)?

Yes, 250 or 252 gives you the trading number of days.

I tried the formula to calculate volatility with WIPRO and INFOSYS I get totally different values compared tot the NSE values what am I doing wrong here For WIPRO I downloaded the data from 9-Apr-18 to 5-Apr-19 and the values I get are Daily volatility=0.022771937 and annual volatility = 0.435057254 but in NSE site as per today I get these values Daily Volatility=1.56 ,Annualised Volatility=29.74 now for the INFOSYS I get these values of data from 6-Apr-18 to 5-Apr-19 Daily Volatility =0.044771493

Annual volatility = 0.855358176 but the NSE website gives these values Daily Volatility=1.18 ,Annualised Volatility=22.50

And What should I do calculate the Daily Average Return should I just take mean of the Daily returns which I calculated in the sheets

Sorry for the long post 🙂

Ajay, are you converting the daily vol to annual volatility properly? You need to multiply with the square root of 252.

Karthik in the example spreadsheet that you gave it has the formula of sqrt(365) and now if I use sqrt(252) I get the value around 36.15% the Nse site gives 29.74 % is this variance considerable ? Or is it common to have such difference

I think its ok, you can consider average volatility of around 30-34%. You won’t be off by a large margin here.

Hi Karthik, Let me start by appreciating your team’s effort in providing an extremely valuable resource like varsity to all the novice traders like me. This comment is regarding one of your posts on the ‘wall’ of varsity app regarding the relationship between ‘India Vix’ and IV of the options. for the context of other readers, they can read the ‘opinion’ in ‘ The Wall’ of ‘vasrity’ mobile app by the name ‘ Implied volatility and the associated mystery!’. last week, I have observed hat the India vix has touched 20s but the IVs ATM options of April series is around 15. I thought that IV will rise along with the India Vix and I also have a directional view that Nifty will move up in the coming week. since I have a directional view and also on the view of IV but not sure of the timing which it will take place, I bought the ATM options .After bought the CE the IV dropped further to 13 and I had to book a loss. your article has cleared many of my doubts but here is my doubt sir, In my understanding when India Vix is high, Nifty fluctuates violently and accordingly the deltas of the ATM options also should fluctuate violently and so the premiums of the options, resulting in higher IVs of ATM options But that did not happen in this case. According to your article, India Vix is estimated from the option IVs but are’nt option IVs a function of India Vix also resulting in a cyclic relationship? how to analyze the effect of India Vix on the options? Please correct my understanding.

I’m glad to see this, now I know there I at least 1 person looking at the wall apart from me 🙂

India ViX is derived from the IVs of the ATM calls and put. IVs are independent and is derived from the price, and this gets fed as an input to compute the ViX, so there is no cyclical relationship.

Thanks for your clarification. ‘The Wall’ indeed is a very good initiative. My first task everyday morning is to check it . Keep up the good work. I am waiting for all the modules to be updated in the mobile app. Also it would be helpful if the comments are also enabled. Since I could not ask the doubt there, I thought this is the most apt chapter and posted my doubt here.

Neehar, I’m glad you liked it. I hope we will have a notification for the Wall soon 🙂

We are also updating all the modules soon. Working on it. Unfortunately, we can’t have comments on the app, it will be a huge challenge to manage. But we are exploring alternatives.

sir, while downloading security wise data(equities) from nse site, when we put “ALL”, DATA OF SEGMENTS LIKE EQ, E1, BE is also downloading. so even if we downloading for 365 days, it is showing data for more than 400 days. my doubt is, to draw volatility should i exclude all other data and take only equity?? (for this i select only EQ and press get data). or should i definitely need all segments data and compulsorily check “ALL” and then press get data? please clarify sir.

THANK YOU

No, you need to download only EQ segment. The rest is not really needed.

thanks for the quick reply sir.

am really thankful to you sir for providing zerodha varsity.

i read all chapters 1 yr back when i just started trading.

and i come here to refer some topics when i need some clarification.

everytime i revisit , though i re read same topic, i get to learn a new thing.

i think gaining real time experience and brushing basics again and again really helps a lot (as we tend to overlook some basic things in the speed of the market).

your work, the way you put the content really amazes me becauses u stressed areas where ppl go wrong or what ppl really need.

THANK YOU SO MUCH.

Thanks for the kind words, Lokesh. Yes, re reading the same thing after you’ve gained some experience is an amazing way to unlearn and learn again. Good luck to you, Lokesh!

in this module we learn how to calacute any particuler stock volatility , but how to find most volatile stock on NSE&BSE have more then 5000 stock listed. i hope you understand my qustion /

Vishant, the only way to do this is to find the volatility of each stock and make the assessment. It is best if you can program this and track the volatility.

ok. by the way we can downlode data of high beta stock on NSE stie right ?

and thanks for this type of study matirial its easy and very usefull.

I’m not sure if NSE gives you this list, you may have to calculate this based on the historical data.