PureBytes Links
Trading Reference Links
|
//BLACK SHCOLES OPTION PRICING FORMULA
//coded by Anthony Faragasso
//1-01-03
// User Variables
StockPrice = Param("stockPrice",81,1,200,1); //Stock Price
Timedays = Param("DaysToExpire",30,1,300,1); //Time to expiry ( days to
exp/365 )
StrikePrice = Param("StrikePrice",75,1,300,1); //strike Price of Option to
evaluate
InterestRate= Param("InterestRate",0.06,0.01,0.11,0.001); //prevailing
interest rate
VKnown =Param("Volatility",0.30,0.10,0.50,0.001);//You can insert Known
volatility here , Implied Volatility.
//////////////////////////////////////////////////////
time=timedays/365;// days to expire conversion formula
//Formula variables below
/*************************************************/
// Solves for ( X )
x = (ln(stockPrice/strikePrice) + (interestrate +
Vknown*Vknown/2)*time)/(Vknown*sqrt(time));
/*************************************************/
P = 0.2316419;
bb1 = 0.31938153;
bb2 = -0.3565638;
bb3 = 1.78147794;
bb4 = -1.821256;
bb5 = 1.33027443;
pi = 3.141592654; // PI
A2 = 1/sqrt(2*pi);
A3 = exp(-(x^2)/2);
y= a2*a3;
A4 = exp(-interestrate*time);
t1 = 1/(1+ P*x);
A5=(bb1*t1)+(bb2*t1^2) +( bb3*t1^3)+(bb4*t1^4)+(bb5*t1^5);
/************************************************************/
//Standard Normal Distribution Function of ( x )
N = 1- y *A5 ;
/************************************************************/
// Solves for ( X1 )
X1=x-Vknown*sqrt(TIME);
y1=1/sqrt(2*pi);
N0=exp(-(x1^2)/2);
T2=1/(1+ P*X1);
A6=(bb1*t2)+(bb2*t2^2) +( bb3*t2^3)+(bb4*t2^4)+(bb5*t2^5);
A7=exp(-interestrate*time);
y2=y1*n0;
/************************************************************/
/* Standard Normal Distribution Function OF ( x1 )*/
/***********************************************************/
N2= 1-y2 * A6;
/************ CALL OPTION FAIR VALUE************/
Call = stockPrice * N - strikePrice * A4 * N2;
/************ PUT OPTION FAIR VALUE*************/
Put = Call - stockprice + strikeprice*A7;
Filter = 1;
SetOption("nodefaultcolumns",1);
AddColumn(stockPrice,"AssetP",2.2);
AddColumn(strikeprice,"StrikeP",1.2);
AddColumn(InterestRate*100,"InterestRate%",1.2);
AddColumn(VKnown*100,"Volatility%",1.2);
AddColumn(timedays,"DaysToExpire ",1);
AddColumn(Call,"Call FV",1.2);
AddColumn(put,"Put FV",1.2);
//Notes
/* AA window
1. Select current symbol ( could be any stock, output is not associated
with the current stock).
2. n last quotations
3. n = 1
4. Use the Parameters button to make user selections
5. Click explore */
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.7.4 - Release Date: 3/18/2005
------------------------ Yahoo! Groups Sponsor --------------------~-->
In low income neighborhoods, 84% do not own computers.
At Network for Good, help bridge the Digital Divide!
http://us.click.yahoo.com/EpW3eD/3MnJAA/cosFAA/GHeqlB/TM
--------------------------------------------------------------------~->
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|