## 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 = 252
- Annual Volatility = 1.47% * SQRT (252)
- = 23.33%

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 23%.

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 (252)

= 1.60%

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 options 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.

sir, I couldn’t get the intuition behind multiplying SQRT(365) to convert the daily volatility into annualized and dividing SQRT of 365 with the annualized volatility to get daily volatility can u pls throw some light how are they working

Volatility and time have that inverse relationship, Sahil. It has a complex mathematical explanation, let me check for a link which explains this.

A chapter for delta hedging.?

Will try and put that up sometime soon.

Respected Sir, appreciate the level of hardwork for extremely simplifying the concept of OPTIONS.

Thanks for the kind words! Happy reading 🙂

Hey Karthik,

While calculating the daily returns in Excel did you manually type all the formulas like LN(B3:B2) and LN(B4:B5)?

Yes, I would imagine so. Why?

Isn’t there any method to use a common formula for all the data?

No Ram, unfortunately, that is not available 🙂

THANKS FOR THIS USEFUL INFORMATION !

* * * *

Q.

Daily Volatility = 1.47%

Time = 365

Annual Volatility = 1.47% * SQRT (242) [ TIME = total trade days – 1st day ]

= 22.40 % is right or wrong ?

Thats right, Lalit.

Time = 365

Annual Volatility = Daily Volatility% * SQRT ( ? )

** ? = Time OR Todal Trade days which i choose ? **

T= Time, which is the total traded days. So you can take 252.

Good evening Karthikji,

Although I’ve read most of your modules long back around 2 yrs ago but I kept on visiting & revising varsity esp options, technical & fundamental analysis so have to ask questions accordingly in comment sections each time doubt arises…

Although u’d made volatility understanding as simpler with your fabulous writing as walk in a park 🙂

In this particular Chp I understood fully the ground work for historical data works & I do it on excel too. My questions is

1)Since the Chp heading is calculations for ‘Historical Volatility’. But at the end of chp there’s annualised volatility estimation or daily volatility but historical volatility is not visible anywhere ??

Is annualised volatility & historical volatility can be treated roughly equal as an average over long time ???

2) where to find out historical volatility reliably ? ?

I’m glad you continue to like reading Varsity 🙂

1) Historical volatility is the base for calculating the annualized volatility. The bulk of the chapter is focused on calculating historical volatility.

2) Historical volatility cannot go wrong as it is a 2 step calculation. I’d suggest you do this as described in the chapter

Good morning Karthikji

With ref to above mentioned questions rply…

Yes definitely reading & understanding isn’t one time affair or thing. One need to polish himself/herself in visiting basic to advance time & again. So keep on reading & enhancing myself with writing imp notes too. We’re enough fortunate that u’d authored & mentored us 🙂

》Yeah regarding one of last doubt here, I mean can we compare annualised volatility & current IV for rough comparison. For eg. Nifty annualised volatility is 16 & current IV of say Nifty 11650CE strike is 8. So can we design spread trade with this rough comparison in stocks/index. Although I’d huge respect for above annualised volatility calculations work that I still do but I’m saying out of my idea if this rough analysis between annualised & current IV works too ??

Pls correct me with ur opinion

Thank you 😊

Yes, you can compare the annualized volatility with current IV, but make sure you are comparing it with ATM strikes (which has maximum liquidity), and not OTM or ITM strike.

Good morning Karthikji

Ah sure here I got it regarding clarity on annualised volatility.

1)But only one doubt is in volatility smile concept sections u’d mentioned that “Volatility is least at ATM strikes & increases as further we go away to ITM & OTM side” So naturally ATM volatility will be at support or at lower side compared to annualised one ? Kindly correct me here in this situation

2)Whether we must compare monthly or weekly options ATM with annualised volatility?

Need ur opinion 🙂

Your courtesy, thanking you so much 🙂

1) No, it is difficult to correlate this. Cannot really say that the ITM/OTMs would act as support as the volatility is different at these strikes

2) You can always convert volatility in the time frame you like by either multiplying it with Sqrt of time or dividing it (based on your requirement)

Very much grateful for your kind reply Karthikji. I got it. It’s my silly mistakes to have not identified that i must be multiplying or divide with Sq root of time in any no. of days we desired that we learned in this chp.

But anyway this is what opinion of wisdom is all about!!

Thank u again & have a great evening 🙂

Hahah, don’t worry about that. Happy reading!

Sir/Madam

I am trading in Bank option for past 2 months. I am beginner in trading. I have lost big money in some trading. I am trading with out SL & Target. Is it possible put SL & Target in Bank option trading. If it is possible please send link to the above mail.

Yes, you can.

sir,

just like u explained the way to calculate annualized volatility, out of daily data. in similar way, how can i calculate annualized volatility out of intraday data?

for say, at 10:30 AM, i want to see the annualized volatility (of underlying) of nifty, based on 60 ticks of data (60 minute).

Intraday volatility is a little difficult to extrapolate. Even if you do, wont be too accurate. I’d suggest you dont do this.

If annualized volatility is provided on NSE site,do i need to calculate on excel too?

Nope, you can use the same.

Hi,

Why you take 365 as no of days to calculate annual volatility/standard deviation because there is roughly 242 days in a year when stock market is open as we can see in excel sheet where you calculate volatility.

242 is the right number, Hemendra.

SIR, HOW TO CALCULATE MEAN OF DAILY RETURNS?

Nilesh, just run an average function the daily return time series.

if i buy an usdinr option at price 0.0025 and the next day it shows the ltp at 0.0000 (-100%) then what happens to the contract do it get square off before expiry?

It will expire worthless unless a major move in your direction happens and the option premium picks up value.

Dear Sir, I calculated the same using your excel sheet for WIPRO (tenure 26/9/18 to 25/9/19) daily volatility is coming around 2.3% and annual volatility is approx 44 %. Then I checked the data on NSE site which is showing Daily Volatility 1.36% & Annualised Volatility 26.03%. Why this result is not matching??

Hmm, are you sure you are using the same time period? Also, make sure your data is clean for bonus and splits.

Dear kartik,

it was a beautiful journey with the modules and the kind of thorough knowledge of greeks and their impact on options..it really changed my way of trading options..but i have some doubt on calculation of volatility with the formulas u have given in the module..when i apply the same formula on wipro as u ahve mentioned in module it gives exact figure..but when i apply same formula on other stocks there is a huge differnece between my calculations and the one provided on nse website..plese help me with that.

Hmm, I guess the problem could be with the data points. Are you sure you are looking at clean data? Cleaned for bonus and splits?

yes…i am using data as mentioned on nse website.

Hmm, but make sure the data is cleaned up for corporate actions, even if the data is from NSE.

Karthik thank you for all your efforts in making difficult things so easy to understand. I have few questions and please excuse me if i ask some stupid ones. Thank you in advance.

1. The Implied Volatility that NSE India website provides in its Option Chain is that IV in percentages?

2. Kindly help me in calculating IV with a demo example?

1) Yes, its in %

2) Estimating IV is a complex task 🙂 However, historical volatility is fairly easy as explained in this chapter.

Sir,

I want to create a positive and negative range using the volatility of any given stock, would you be kind enough to help me out.

Doubts –

1. Can I use the LTP or closing price of previous day or should I use average price (traded value/trade qty?)

2. How to calculate the upper (positive) range and negative (downside) range

I have already explored the volatility report and figured out the daily volatility figures that’s available there, however not sure about how to use them all together to have my top and bottom ranges that stock will normally range in 68% of times.

1) I’d suggest you use the close prices

2) You can use the the same volatility function and the standard deviation approch, Prateek

Nice Explanation. Thank you.

Could you please let me know from where and how we get the 52wk High and 52wk Low of Historical volatility ?

Hmm, maybe you should check with Sensibull for this.

Sir,

In this chapter, you have demonstrated the calculation of volatility using past one year data. I have some queries:

1) What will be the effect if we calculate volatility using lesser data (say 15 days, 30 days, 60 days, etc.) ? Will it be reliable ?

2) What will be the effect if we calculate volatility using larger data (say 3 years, 5 years, 10 years, etc.) ? Will it be reliable ?

Regards,

Rahul Mishra

1) Nothing wrong, especially if you have a short term trading horizon (1 or 2 days)

2) I’m not sure about the effectiveness of this. Intuitively, this may not make sense as most of these strategies are designed for short term trading.

Hi,

From the historical data for Wipro in above sheet, the close price is almost above 500. But, when I had back check using Zerodha graphs, the equity price of Wipro never went above 500. instead it is trading between 200 350. May I know why there is a difference? While downloading historical data, which series should I consider (like EQ or All)?

Regards,

Arun

Arun, you need to look at EQ series and I think the difference is because of this.

To calculate annual volatility from daily volatility you have used time as 252 days; whereas in the excel sheet (the one we can download from the link given by you) you have used it as 365. Which one is correct? Similarly for weekly volatility, should we use time as 5 days or 7 days?

I’d suggest you use 252 / 5 — represents the actual number of trading days.

Hi Karthik,

You are doing great job of not only educating, but also answering queries patiently. Hats off to you.

Just sharing my observation. Calculated volatility of Nifty future (based on future price and not spot price) as per method mentioned in this write up. Getting volatility as 1.27%, while NSE is showing 3.34%. No where close.

In the Comments section of this page, I’ve seen many other users experienced such mis-matches for whichever equity/instrument they cross-checked. I tried the method of NSE’s volatility calculation (it is mentioned in the daily volatility download report from NSE site), but using that also I’m not able to come close to 3.34% volatility.

In case you know reason behind this difference, please share.

Regards,

-Sachin

Sachin, I’d suggest you calculate the Volatility for both Fut and the spot, across both 252 and 365 days. Also ensure the time series matches, ensure your data is also clean. Volatility is a simple formula, it should not show up so much difference 🙂

Thanks (as usual) for your valuable time and response. I think I’d tried both 252 and 365 numbers, no luck. Spot wasnt used for calculation, let me check out with it. Regards!

Good luck, Sachin.

[…] 16. Volatility Calculation (Historical) […]

In Zerodha trading platform when one selects STD DEV as one of the oscillators, the accompanying parameters by default are period (14), standard deviation (2) and moving average (simple)……. completely confused, how these parameters come into picture, what role they have, as std dev calculatin shown here (in zerodha varsity and same with standard test books also) such parameters have nothing to do with std dev calculations….. please tell me what am i missing.

YOu must be talking about the Bollinger band or something similar. These are the core parameters which make up the STDEV indicator.

Please explain in details. I am not talking about Bollinger band. Go to zerodha platform select any stock or any index and from”studies” pull down menu select STD DEV. Now see the parameters…… as such they dont have any role in regular STD DEV calculation. Even before coming to Zerodha/trading/share market I had some formal training in statistics…… I can not figure out the role of those parameters here……surely something is there which I am missing…..so explain precisely what (14,2,MA) means. By the way thanks for noticing my question.

14 = Period over which the STDEV is calculated. You can change this to whichever period you want

2 = The number of STDEV, you can change this to 1 or 3

SMA = For simple moving avg. YOu can change this to EMA as well.

Firstly, big thanks for the great modules you have created for beginners.

I have quite a basic query. In the example, i assume that you have used data of 11 trading days to calculate daily volatility. As annual volatility is calculated by multiplying daily volatility by square root of 252, how does one calculate 10 day historical volatility? Is it by multiplying daily volatility by square root of 10.

Yes, thats right, multiply the daily vol by sqrt of time. Time can be 10 days or 252 for annualised value.

Hello Karthik,

Can you please help me with the following doubts:

A. On NSE’s website, annualised volatility is calculated as daily volatility*sqrt(365). Shouldn’t it be AV= DV*sqrt(252) ( Assuming there are 252 trading sessions in a year)

B. As per NSE’s website, Infy AV as on 02.04.2020 is 97.21. Does it mean that there is 68% probability that infosys price may move from current spot +- 97.21% in a one year time frame?

C. IV is always overestimated and options premium accounts for the same. Is there a source that can give an estimate of about how much is it overestimated by making a comparison with HV?

D. Is IV mentioned in option chains on Zerodha Kite daily volatility? Also, does IV changes with option expiry for the same contract? For ex 8500 Nifty CE with current month and mid month expiry?

Thank you.

A. Ideally yes, but some stick to 365. Depends on the time convention

B. Yup. Its not a % though

C. You can try Sensibull

D. Yes, IVs do change

Please explain in details. I am not talking about Bollinger band. Go to zerodha platform, select any stock or any index and from”studies” pull down menu select STD DEV. Now see the parameters…… as such they don’t have any role in regular STD DEV calculation. Even before coming to Zerodha/trading/share market I had some formal training in statistics…… I can not figure out the role of those parameters here……surely something is there which I am missing…..so please explain precisely what (14,2,MA) means. By the way thanks for noticing my question.

It is the same – A 14-day standard deviation, calculated on the closing price, gives you the value of 2SD. This is plotted as a simple moving average. Also, if this is not clear, I’d suggest you speak to chartIQ directly to get clarity on this.

Thanks a lot for your response. But as you know, every answer creates a new question :). Let me put things in perspective. As explained in the study material/notes above, you first calculate ln(previous day’s return/today’s return) and on a rolling 14 days’ window you calculate the standard deviation. So today’s standard deviation value has been obtained from natural logarithm of return ratios of last 4 days. Correct? NOw what is the role of moving average? Which parameter is actually taken on a moving average basis? YOu have clarified most of my doubt, please clarify this one.

Regards

Ok, I get it. I guess it’s calculating the SD of the 14-day simple moving average. I’d suggest you write to chartIQ directly for this 🙂

Thanks a lot once again Mr. Karthik. I am kind of new to this zerodha system….how do I write to ChartIQ? any mailid? And by the way on a more theoretical level, SD is being calculated here to find out the volatility of the stock. Moving average is a concept in data analysis, used to smoothen the data. Now, if at all I am taking moving average of SD data don’t you think it is counter intuitive? I am trying to smoothen a parameter which is otherwise supposed to give me the “jerkiness” or volatility!!!! Anyway as suggested by you, I will write to ChartIQ if I know the mailid. It was pleasure discussing the concept with you.

I found their email ID on their website – [email protected] , https://www.chartiq.com/

Please do share your findings here. Thanks.

hello sir, i am unable to find historical data of nifty .i followed the link and after entered symbol name nifty but its showing NO RECORDS,

sir. thank you for the knowledge that you shared with us but according to your formula I tried to figure out the volatility of Reliance industries but the difference between the two(daily as well as annual volitily) that is which is calculated by me and that published by the NSE website has a lot of difference. So as asked by lot of people what could be the main problem in my calculations whether m I taking the wrong closing prices or it can be some other problem.

I’m really not sure why the difference exists, Rahul. I’ve pointed out a few possibilities in earlier comments, maybe you can check and verify.

Hi Karthik ,

Can we use the same calculation to calculate the volatility for 15 minutes or 1 hour.

Yup, you can.

@karthikrangappa i have calculated daily volatility and annual volatility of wipro, sail, and idea but when i cross-checked the answer on nse website it shows no similarity .

I tried multiple times checking whether I did it wrong but the answer i got is totally has no close to the volatility available on nse website. which one should I consider?

Go with NSE’s. Please read the comments above, Abhi.

Sir,

I calculated daily and annualized volatility of L&T for last 1 year as per the above calculations and it came as 2.44% and 37.95%.

But on NSE website the respective figures are 5% and 95.61%. It is nowhere near to my calculations.

Can you please explain what can be the reason.

Thanks.

I really don’t know how NSE is calculating Volatility. Maybe you should check with them for an explanation 🙂

Hello Karthik,

I’ve downloaded 1 year data from NSE today i.e., on 17-04-2020.

I’ve calculated Average, Standard deviation and Estimated range for AXISBANK as you’ve calculated in this module.

Daily AVG = -0.25% ; Daily SD = 3%

Yearly AVG = -64.22%; Yearly SD = 54%

With the above values, the 1 year range would be

Upper Range = -10.32%

lower Range = -118.11%

I know that these numbers doesn’t make any sense as they both turned out to be negative.

My doubt is :

1. Do I need to remove negative sign in the average?

2. Or is there any other way to do these kind of calculations as the stock is beaten down to hell from 800 to 300 levels giving completely negative numbers during the calculation?

Harsha, I’d suggest you calculate the stock returns on log basis, which log (today’s close/y’day close)….and not the regular % basis. Here are the brief steps to follow –

1) Calculate the daily returns using a log basis

2) Use the daily return to calculate the daily avg and daily SD

3) Convert the daily values into yearly numbers

4) Calculate the range % using these yearly numbers

5) Convert the range % back to regular scale (remember you are dealing with log scale)

6) To convert the long % value to regular scale, multiply the range value with exponential

But, In the WIPRO example you have used LN(Today’s close/Yesterday’s close).

Now, we are using LOG(Today’s close/Yesterday’s close)?

May I know why?

On a short term basis, there is not much difference between regular returns and log returns. The difference occurs when you extrapolate for long term basis, this gets further magnified when the returns are -ve. Hence.

So, for a Stock which has negative returns LOG is best!

Anyhow, I’ll try both of them(LOG & LN) and see which one is more accurate for both short and long terms.

Thank you!

For long period data, its best to use log. Btw, both LN and Log are the same.

Sir

In the MS Excel sheet you have provided in the last line of this chapter, there you have used 365 days to compute the annual volatility (which comes out 28.04%) but in example give above, it is 252 days. I think it should be the number of actual trading days i.e. 252 days.

Thanks

252 is the right convention, Akash.

Hi Kartheek,

As per the NSE website the volatility calculation is Happening like this.

1. Log returns they calculating as LN(Today close/Previous close) or LN ( beginning price/ending price)

2. Daily Volatility calculating as Daily Volatility = Sqrt(0.94*D*D + 0.06*C*C)

Note: D = Previous Day Underlying Volatility and C=Underlying Log Returns i.e. LN(Today close/Previous close)

3. For annual volatility they considering 365 days instead of 252 days.

May be we need to update our tutorial or can u provide some more insights on above 3 points?

Praveen, can you share the link for this? Thanks.

Hi Karthik,

I am doing my project in Risk-Return Analysis of Futures and Options. So if I am using this formula that you provided it would be only accepted if I would be able to provide the source of this formula. Is there any books or journals from where you got this formula so that I could keep it as the reference?

Regards

Abini

Ah, dont remember. But these are generic formulas that everyone uses.

Hi,

If its not possible to reveal that pdf here please let me know through my mail id.

Thanks

Abini

Hi Kartheek,

Here is the link – https://www1.nseindia.com/products/content/all_daily_reports.htm

from above link we can download daily volatility.csv.. Please download the same we can see how NSE calculating the Volatility

Thanks, Praveen.

Thanks, Praveen. Looking into this.

thanx sir for this valuable knowlege sir but in 2015 wipro were trading at 250-300 in june how come there is a diffrence in future price

i m new to share market

The futures price is slightly different from the spot price. Do check the module on futures pricing.

Hi Karthik.

(a). For calculating daily return, you used Return = LN (Ending Price / Beginning Price), instead of Return = (Ending Price / Beginning Price) – 1 (which is equally convenient for MS Excel perspective). Both these formulas will give some minute difference in values. I just wanted to ask if this simplification carries an underlying practical purpose, or is it just for the sake of simplicity.

(b). At the beginning of the chapter, you laid out steps for calculating the standard deviation. There is a small typo here. In these steps, you forgot to divide the sum of squared deviations with the number of observations.

1) This depends on the time frame you are looking at. For short term (like 6 months or so), you can use the simple arithmetic value, for more than that, use the log function.

2) Ah, isit? Let me check this.However, if you are using excel, you can use the =STDEV() function directly.

Hi Kartik,

If the Daily Volatility is available on NSE website.

Would there be situations where in we would need to calculate this using the given formula.

Thanks in Advance.

Not required if it is readily available.

Sir ,

i was trying to download the historical data of SBIN Since 2000 . there is a huge difference in what i get on NSE website and the Historical data of SBIN on Zerodha or Money Control . if MoneyControl or Zerodha confirm that SBIN has been trading between Rs.,20- Rs.,400 , But Data on NSE shows Well above it – it even Goes to > 1000 even >3000 . is something wrong that i am doing while selecting the data ?

Money Control : https://www.moneycontrol.com/india/stockpricequote/banks-public-sector/statebankindia/SBI

Zerodha : https://www.tradingview.com/x/G7qVzuNQ

NSE :

https://www.tradingview.com/x/G7qVzuNQ Between 500 – 1000

https://www.tradingview.com/x/G7qVzuNQ Between 1000- 3000

Please Clarify

It may not be adjusted for splits and bonus. I dont know about other sources, but I’d suggest you stick to Zerodha.

Should we follow the steps followed by you to calculate annualized volatility or should we use the formula used by NSE? Which one is more relaible?

I’d say mine, but the difference is too much 🙁

Doing a bit of research myself on this.

With your calculation we get IV Rank as 100 for most of the days in this period. Has the change in formula done by nse considering this high volatility period we are in?

IVs are generally very high of late, Arun. So this could be a legit change.

ok.. It will be really helpful if you can update your findings on the the comparision between two approaches as and when it is done. Also, if I want to calculate volatility of NIFTY index, can I use INDIA VIX as a alternative?

Sir,

I am trying to calculate the daily returns & annual returns of the NIFTY using STDEV formula but the result varies from nse website.

from 9/5/19- to 8/5/20 by using your formula my result is as follow

Daily Returns 1.962%

Annual Retuns 31.15%

but as per NSE website its 3.30 and 62.98. what could be the reason?

Can you please check how NSE is calculating the returns?

This is how NSE calculated the daily and annualized volatility.

Current Day Underlying Daily Volatility = Sqrt (0.94* Previous Day Underlying Volatility ^2 + 0.06* Underlying Log returns ^2)

Annualized volatility = Current Day Underlying Daily Volatility * sqrt(365)

Yes, I’m aware of this. The thing is the NSE gives more weightage to previous day’s vol, this makes sense as they need to charge margins to accommodate for the present day vol. However as a trader, you need to give equal weightage to past volatility as well, that would be a better way to deal with this.

I agree with you. What bothers me is if I have to plot the hist. vol (nse calculation) vs the implied vol, and hist. vol (log returns) vs implied vol the gap between the 2 plots would be different and hence my assumption of IV might be wrong for the underlying. Right?

Double-check your IV with Sebsibull’s IV chart – https://sensibull.com/

how to check NSE calculation?

I think the calculation technique is available on their website, you need to look for it.

Hello Karthik,

I am not sure if you are aware of it, but https://in.tradingview.com/screener/ is a great tool. It has daily/weekly/monthly volatility column along with 100 other features 🙂

It has a button to add new columns. Click on it and then you can add volatility.

Yeah, TV is a great platform 🙂

I got to know the calculation of NSE, though complex compare to what I have learned through this module.

Both give a different lower and upper range which in turn gives the different prospective of index/stock range.

which calculation to use to get a better range of index/stocks?

Yeah, from my understanding, NSE’s volatility computation is wrt to computing the margins from a day to day perspective. They do this by assigning highest weightage wrt the most recent data. YOu as a trader need to give equal weightage to the last 10 o 15 day data, which is what happens when you compute volatility in the way described in the chapter. I’d suggest you stick to this method.

Thank you so much! Karthik

Thoroughly enjoying the course. Your examples and explanations theory is amazing and very practical.

Happy reading and trading 🙂

Range Calculation with 15 days SD

15 days Nifty

upper 6.35% 9979.11 9998.45

lower -8.86% 8551.73 8587.49

Premium market lot

SELL 10000 CE 73 75 5475

my first trade based on quantitative strategy learned by you, sir!! I was off the view that there are 68% chances nifty won’t cross 10000 in next 15 days!! today premium is down by 50% .

Good luck, Anil. Stay profitable 🙂

[…] https://zerodha.com/varsity/chapter/volatility-calculation-historical/ […]

I did a daily Vol calculation for HUL from May 2019 to April 2020, there seems to be a big deviation from what I calculated using excel vs the nse website . Daily Vol as per my calc is 2.7 vs Nse 3.11 which one should I go with ?

Yes, that is because of the way NSE calculates Vol. They do this keeping margins in perspective. To trade, you go with the technique described here.

Sir ,

Which Version of R Software is recommended ? I am I Unable to Download Foptions into it . I want to get Volatility Smile , Volatility Cone using R . is there any Traning Centers who teach R from a scratch ? .

I’m not sure if I;m capable of answering that.

Hi, thanks for such nice e-book..very informative,

if I want to caluclate weekly & monthly volatility then formula like this–wkly vol = daily volatility sqrt(5) & mothly=daily volatility sqrt(21)

and i calculate 9 days vol. then 9days vol. =daily volatility sqrt(9)

pls guide.

Thanks a lot

Manohar

Yes, that’s right. You have to multiply daily vol with SQRT of time.

Thanks for the reply, I have another query . I did a Vol for ITC from 2019 May to April 2020, and daily returns were calculated on a log scale. I get a negative average of -0.20 / daily . So when converting to annual x 365 days it’s a – 74.05 % for 1 year. How do I work out the sd for these values ?

1. Should is go for a longer period to calculate log returns, as the last 1 year ITC has been on a downward trend so returns are obviously in negative ?

1) This is the problem with -ve returns, happens when the stock has trended down for a long time. I’ll get back to you on this.

Thanks you very much Karthik for your reply…Good bless you and all traders.

Manohar Nadkar

Happy trading!

Sure, thanks.

Hello,

I have a query regarding the relevance of volatility calculated by us and as available on NSE.

So, I calculated the daily volatility and it comes out to be very different as given on NSE, please guide me if I have committed any mistake.

[img]https://i.imgur.com/GuU5oBl.png[/img]

The above date pertains to the period 22 may 2019 – 21 may 2020

[img]https://i.imgur.com/XOllZep.png[/img]

However as per NSE, Volatility turns out to be very different.

Yes, the vol as per NSE is to calculated keeping margins in perspective. We calculate keeping trading in perspective.

Hey, i have gone through comments, i was able to figure it out, thank you!

Happy trading!

hi Karthik,

If we select the daily closing data of any scrip for finding its std. dev. instead of getting its natural logarithm (LN), what isthe result? I know the answer will be wrong but still want to know the importance of LN.

Stock prices can trend, but returns are normally distributed. Do check the chapter for an explanation.

Hi! Karthick..

Thank you so much for the knowledge.

I also have the same problem/doubt while calculating the volatility for longer period for the stocks which has fallen a lot

Thanks & Regards

Hemakumar D

Use log returns, that will help.

Hello

during daily to annual volatility calculation, why time factor is considered as 252 and not 365? from your screenshot for Wipro, annual volatility is 25.5, 25.5/SQRT(365) = 1.34. which matches the daily volatility in the screenshot.

Similarly from NSE website for INFY, daily volatility = 2.55, annual volatility = 48.77; calculation 48.77/SQRT(365) = 2.55, again matches.

Can you help clarify pls?

Thanks

I’ve considered the actual number of trading days, but I guess NSE has considered the total calendar days. Please do stick to NSE’s convention.

Thanks. Amazing to see quick reply from you. Appreciated.

BTW, I was so confused for FnO but the way you have explained entire stuff; i am excited to trade :). Thanks for nice theory.

Thanks

Happy learning, Uday 🙂

Hi Sir. Perhaps you may like knowing that I am studying your articles on Volatility very deeply, so that I can master the subject.

I refer to the example where you calculated conversion from Annual SD to Daily SD by dividing the Annual SD by SQRT(252) (perhaps 252 is the no. of trading days in a year). Step 2 then multiplying the daily SD with SQRT(NO. OF DAYS) for which no. of days the SD is required. Fine.

I am reading a book titled “Mastering Short Strangles: Trading Analysis of Real Trade included” written by Pradip M. where the writer wrote:

“Given the Realised Annual Volatility of 16.8% , we get 1SD movement of 4.73% for a period of 29 days. The calculation arrived as below: 1 SD for 1 day = 16.8/sqrt(365) = 0.87935219 and then 1 SD for 29 days = 0.87935219*sqrt(29) = 4.735456466 …”

Request your examination on this matter. Thanking you in advance for a reply.

Thats right. When you want to convert daily vol to annual vol or any time frame, you multiply the daily vol by sqrt of time. However, if you want to calculate the daily from annual vol, then you divide it by sqrt of time.

Hi Karthik, Thank you so much for the material that you upload for us learners.

I had a query regarding the excel sheet that you uploaded. It calculates the daily returns of nifty with normal distribution. I have been able to find out the Max & Min percentage returns along with the Bin width value. I have also been able to create the bin array by adding the bin width to the Min percentage returns till i had the Max percentage returns.

What I am stuck at now is how to find the frequency of the percentage returns through this bin array. When I use the frequency formula, the cell value keeps incrementing and I dont see that happening in the sheet you uploaded. Further, I have tried using the dollar signs to stop the incrementing from happening but it ends up giving a value of 1 for each bin array.

What is the possible way to stop this from happening?

Are you directly pressing enter? You need to press ‘Ctrl+shift+enter’, when using an array function on excel.

Thank you. I was able to execute the formula with your advice but there’s a separate issue with the result I get. Some numbers in my bin array that feature in the percentage returns are showing 0 frequency after the formula. how could I rectify this error?

Hmm, that means there are no observations across these bins. Can you try reducing the number of bins?

I can try to increase the bin width which would reduce the bin array. I had two questions in this regard:

1. How important is the bin width formula i.e. (Max – Min)/50? If not very important, I can put a higher number for width to reduce the arrays.

2. Also I wanted to confirm that, through the frequency formula, what we get is the number of times a value is repeating in the range of one bin array to another i.e. If bin array = 13, 11, 9, 7….., through the frequency formula I would get how many times numbers ranging between 13 & 11, 11 & 9, 9 & 7….. are repeating in the bin array?

1) The denominator bit of that formula is very flexible. Try shrinking the bin width, if you increase you may get more bins with 0 values.

2) That’s right, frequency gives us the frequency at which observation occurs.

I was able to work around the issue by shrinking the bin width. Rest of the calculations have also panned out effectively with respect to 1SD & 2SD. Thank you again for all your help and the study material.

Super! Happy learning 🙂

very good content

i have one doubt in excel , you considered 365 days for calculating annual volatility . but in the article , you considered 252 days can you please rectify ?

Hmm, 252 is the trading days, whereas 365 is the calendar number of days. So it is really up to you which convention to stick to. I’d prefer the trading number of days.

Hello sir,

I cannot understand the logic behind multiplying one day volatility with square root of the timespan to get the volatility of that particular span and vice versa.please explain.

PS:Thank you for the amazing content!

Roshan, there is a mathematical derivation for that. Not sure if we should get into explaining that 🙂

@Karthik Rangappa : First of all I thank you very much. I have learnt a lot from Zerodha Varsity. The way everything is explained is so lucid.

Could you make a video about the new nse website or could you provide some links if any. I need to know what the resources data free available, where we can find useful insights just like walk through of the site.

Thanks, Soman. NSE’s website is an ocean of resources, takeaways too much bandwidth. Plus they keep upgrading the site, so will be a tough thing to do 🙂

Hi Karthik,

I faced one problem while calculating the “Daily Average Return”. In one of your later chapters you demonstrated how I can calculate the range of a particular stock for the next n number of days using

1) Daily Average Return

2) Standard Deviation

So I decided to download last 1 year data of ITC. I calculated daily return like you showed in this chapter. I calculated Standard Deviation similarly. Now when it comes to Daily average return I just used the AVG function on the entire column of daily average.

The Average daily return came out to be negative! Now I am perplexed as in how to proceed. Can you suggest how to proceed now?

On another note I found NSE website contains daily volatility data,but is there anywhere i can find daily Avg return and the daily SD(or 1SD,2SD) range data ready made. Or do you also download the excel everytime and manually calculate the same?

Atrijit, did you use the simple return of log returns? I’d suggest you use log returns.

Hi Karthik,

I did download you excel and copy pasted your formula only. But that gives me daily returns. I need to find out the Daily Average return. So how to do this? So I put Average(C3:C247) [Column C contained all the daily return percentages] and it got me -0.14%. Stock was in a downtrend in the last 1 year.

But my question is how should I use this negative value to calculate the stock Range? a couple of chapters later you demonstrated how you got Nifty 16 Day Range. So with a negative value how to do that? Do I take a Mod value?

And also if you can please answer my other question .Is there any readymade source of these data? Or you prepare this everytime manually?

No, my question is for the daily return itself, how are you calculating the return? Is it the regular way i.e. [today’s value/y’day value]-1 or are you taking the log values i.e. ln[today’s value/y’day value].

I’d suggest you take the log method.

Hi Karthik,

No I am taking ln[today’s value/y’day value] only. I had no idea about the other formula. After log method when I took average I got negative result.

Ok, in that case, the stock has clearly trended down quite a bit.

What if the stock is split during the time period. Will the volatility calculation using the above method still holds true?

Yes, it does.

Hello Sir,

For calculating Historical volatility, what is the minimum period to be taken in to consideration (Close prices). For example I tried 01-01-2019 to 17-07-2020 the value of 1 yr SD I got is 26.68%, where as when I considered 01-01-2016 to 17-07-2020 the value of SD is 18.6% but actual nifty spot Annualised volatility is 35.73 %. there is so much difference in the values, so how much data to be considered for calculating Annualised volatility.

You get different values for different time period. I’d suggest you stick to 1 or at the most 1.5yrs, this should be good enough.

Hello sir,

First of all thanks for those wonderful content sir. After reading all I have a doubt. I am able to calculate the daily volatility and annualised volatility Of nifty index and got similar results with what they published in nse website. But I tried calculating daily average of nifty index for tooo many times but I couldn’t get the values it shows 0%. Can u please tell how to find that or if possible kindly share the daily average of nifty index alone. It will be helpful for many of us. Thanks in advance sir.

I think its good if the values match with NSE’s. But which average are you talking about?