Derivates docs
- From: Neil Booth <neil daikokuya demon co uk>
- To: gnumeric-list gnome org
- Cc: Jody Goldberg <jody gnome org>
- Subject: Derivates docs
- Date: Fri, 18 Jan 2002 19:50:47 +0000
Here they are then. Please apply if OK.
Neil.
2002-01-18 Neil Booth <neil daikokuya demon co uk>
* options.c (help_opt_bs_call, help_opt_bs_put,
help_opt_bs_call_delta, help_opt_bs_put_delta,
help_opt_bs_call_rho, help_opt_bs_put_rho,
help_opt_bs_call_theta, help_opt_bs_put_theta,
help_opt_bs_vega, help_opt_bs_gamma): New docs.
(derivatives_functions): Update.
Index: options.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/derivatives/options.c,v
retrieving revision 1.3
diff -u -p -r1.3 options.c
--- options.c 2001/12/21 23:50:14 1.3
+++ options.c 2002/01/18 19:46:21
@@ -285,47 +285,269 @@ func_opt_bs_vega (FunctionEvalInfo *ei,
return value_new_float (S * sqrt (t) * calc_Np (d1));
}
+static char *help_opt_bs_call = {
+ N_("@FUNCTION=opt_bs_call\n"
+ "@SYNTAX=opt_bs_call(strike,price,volatility,days_to_maturity,rate)\n"
+ "@DESCRIPTION="
+ "Uses the Black-Scholes model to calculate the price of a European "
+ "call option struck at @strike on an asset with price @price. "
+ "@volatility is the annualized volatility, in percent, of the "
+ "asset for the period through to the exercise date. "
+ "@days_to_maturity the number of days to exercise, and @rate is "
+ "the risk-free interest rate to the exercise date, in percent.\n"
+ "The returned value will be expressed in the same units as "
+ "@strike and @price."
+ "\n"
+ "@EXAMPLES=\n"
+ "\n"
+ "@SEEALSO=opt_bs_put, opt_bs_call_delta, opt_bs_put_delta "
+ "opt_bs_call_rho, opt_bs_put_rho, opt_bs_call_theta, "
+ "opt_bs_put_theta, opt_bs_vega, opt_bs_gamma")
+};
-ModulePluginFunctionInfo derivatives_functions[] = {
- {"opt_bs_call",
- "fffff", "strike_price, market_price, stddev, days_to_maturity, riskfree",
- NULL, func_opt_bs_call},
+static char *help_opt_bs_put = {
+ N_("@FUNCTION=opt_bs_put\n"
+ "@SYNTAX=opt_bs_put(strike,price,volatility,days_to_maturity,rate)\n"
+ "@DESCRIPTION="
+ "Uses the Black-Scholes model to calculate the price of a European "
+ "put option struck at @strike on an asset with price @price. "
+ "@volatility is the annualized volatility, in percent, of the "
+ "asset for the period through to the exercise date. "
+ "@days_to_maturity the number of days to exercise, and @rate is "
+ "the risk-free interest rate to the exercise date, in percent.\n"
+ "The returned value will be expressed in the same units as "
+ "@strike and @price."
+ "\n"
+ "@EXAMPLES=\n"
+ "\n"
+ "@SEEALSO=opt_bs_call, opt_bs_call_delta, opt_bs_put_delta "
+ "opt_bs_call_rho, opt_bs_put_rho, opt_bs_call_theta, "
+ "opt_bs_put_theta, opt_bs_vega, opt_bs_gamma")
+};
- {"opt_bs_call_delta",
- "fffff", "strike_price, market_price, stddev, days_to_maturity, riskfree",
- NULL, func_opt_bs_call_delta},
+static char *help_opt_bs_call_delta = {
+ N_("@FUNCTION=opt_bs_call_delta\n"
+ "@SYNTAX=opt_bs_call_delta(strike,price,volatility,days_to_maturity,rate)\n"
+ "@DESCRIPTION="
+ "Uses the Black-Scholes model to calculate the \"delta\" of a "
+ "European call option struck at @strike on an asset with price "
+ "@price.\n"
+ "(The delta of an option is the rate of change of its price with "
+ "respect to the price of the underlying asset.)\n"
+ "@volatility is the annualized volatility, in percent, of the "
+ "asset for the period through to the exercise date. "
+ "@days_to_maturity the number of days to exercise, and @rate is "
+ "the risk-free interest rate to the exercise date, in percent.\n"
+ "The returned value will be expressed as the rate of change of "
+ "option value per unit change in @price."
+ "\n"
+ "@EXAMPLES=\n"
+ "\n"
+ "@SEEALSO=opt_bs_call, opt_bs_put, opt_bs_put_delta "
+ "opt_bs_call_rho, opt_bs_put_rho, opt_bs_call_theta, "
+ "opt_bs_put_theta, opt_bs_vega, opt_bs_gamma")
+};
- {"opt_bs_call_rho",
- "fffff", "strike_price, market_price, stddev, days_to_maturity, riskfree",
- NULL, func_opt_bs_call_rho},
+static char *help_opt_bs_put_delta = {
+ N_("@FUNCTION=opt_bs_put_delta\n"
+ "@SYNTAX=opt_bs_put_delta(strike,price,volatility,days_to_maturity,rate)\n"
+ "@DESCRIPTION="
+ "Uses the Black-Scholes model to calculate the \"delta\" of a "
+ "European put option struck at @strike on an asset with price "
+ "@price.\n"
+ "(The delta of an option is the rate of change of its price with "
+ "respect to the price of the underlying asset.)\n"
+ "@volatility is the annualized volatility, in percent, of the "
+ "asset for the period through to the exercise date. "
+ "@days_to_maturity the number of days to exercise, and @rate is "
+ "the risk-free interest rate to the exercise date, in percent.\n"
+ "The returned value will be expressed as the rate of change of "
+ "option value per unit change in @price."
+ "\n"
+ "@EXAMPLES=\n"
+ "\n"
+ "@SEEALSO=opt_bs_call, opt_bs_put, opt_bs_call_delta "
+ "opt_bs_call_rho, opt_bs_put_rho, opt_bs_call_theta, "
+ "opt_bs_put_theta, opt_bs_vega, opt_bs_gamma")
+};
- {"opt_bs_call_theta",
- "fffff", "strike_price, market_price, stddev, days_to_maturity, riskfree",
- NULL, func_opt_bs_call_theta},
+static char *help_opt_bs_call_rho = {
+ N_("@FUNCTION=opt_bs_call_rho\n"
+ "@SYNTAX=opt_bs_call_rho(strike,price,volatility,days_to_maturity,rate)\n"
+ "@DESCRIPTION="
+ "Uses the Black-Scholes model to calculate the \"rho\" of a "
+ "European call option struck at @strike on an asset with price "
+ "@price.\n"
+ "(The rho of an option is the rate of change of its price with "
+ "respect to the risk free interest rate.)\n"
+ "@volatility is the annualized volatility, in percent, of the "
+ "asset for the period through to the exercise date. "
+ "@days_to_maturity the number of days to exercise, and @rate is "
+ "the risk-free interest rate to the exercise date, in percent.\n"
+ "The returned value will be expressed as the rate of change of "
+ "option value, per 100% change in @rate."
+ "\n"
+ "@EXAMPLES=\n"
+ "\n"
+ "@SEEALSO=opt_bs_call, opt_bs_put, opt_bs_call_delta, "
+ "opt_bs_put_delta, opt_bs_put_rho, opt_bs_call_theta, "
+ "opt_bs_put_theta, opt_bs_vega, opt_bs_gamma")
+};
+
+static char *help_opt_bs_put_rho = {
+ N_("@FUNCTION=opt_bs_put_rho\n"
+ "@SYNTAX=opt_bs_put_rho(strike,price,volatility,days_to_maturity,rate)\n"
+ "@DESCRIPTION="
+ "Uses the Black-Scholes model to calculate the \"rho\" of a "
+ "European put option struck at @strike on an asset with price "
+ "@price.\n"
+ "(The rho of an option is the rate of change of its price with "
+ "respect to the risk free interest rate.)\n"
+ "@volatility is the annualized volatility, in percent, of the "
+ "asset for the period through to the exercise date. "
+ "@days_to_maturity the number of days to exercise, and @rate is "
+ "the risk-free interest rate to the exercise date, in percent.\n"
+ "The returned value will be expressed as the rate of change of "
+ "option value, per 100% change in @rate."
+ "\n"
+ "@EXAMPLES=\n"
+ "\n"
+ "@SEEALSO=opt_bs_call, opt_bs_put, opt_bs_call_delta "
+ "opt_bs_put_delta, opt_bs_call_rho, opt_bs_call_theta, "
+ "opt_bs_put_theta, opt_bs_vega, opt_bs_gamma")
+};
+
+static char *help_opt_bs_call_theta = {
+ N_("@FUNCTION=opt_bs_call_theta\n"
+ "@SYNTAX=opt_bs_call_theta(strike,price,volatility,days_to_maturity,rate)\n"
+ "@DESCRIPTION="
+ "Uses the Black-Scholes model to calculate the \"theta\" of a "
+ "European call option struck at @strike on an asset with price "
+ "@price.\n"
+ "(The theta of an option is the rate of change of its price with "
+ "respect to time to expiry.)\n"
+ "@volatility is the annualized volatility, in percent, of the "
+ "asset for the period through to the exercise date. "
+ "@days_to_maturity the number of days to exercise, and @rate is "
+ "the risk-free interest rate to the exercise date, in percent.\n"
+ "The returned value will be expressed as minus the rate of change "
+ "of option value, per 365.25 days."
+ "\n"
+ "@EXAMPLES=\n"
+ "\n"
+ "@SEEALSO=opt_bs_call, opt_bs_put, opt_bs_call_delta, "
+ "opt_bs_put_delta, opt_bs_call_rho, opt_bs_put_rho, "
+ "opt_bs_put_theta, opt_bs_vega, opt_bs_gamma")
+};
+
+static char *help_opt_bs_put_theta = {
+ N_("@FUNCTION=opt_bs_put_theta\n"
+ "@SYNTAX=opt_bs_put_theta(strike,price,volatility,days_to_maturity,rate)\n"
+ "@DESCRIPTION="
+ "Uses the Black-Scholes model to calculate the \"theta\" of a "
+ "European put option struck at @strike on an asset with price "
+ "@price.\n"
+ "(The theta of an option is the rate of change of its price with "
+ "respect to time to expiry.)\n"
+ "@volatility is the annualized volatility, in percent, of the "
+ "asset for the period through to the exercise date. "
+ "@days_to_maturity the number of days to exercise, and @rate is "
+ "the risk-free interest rate to the exercise date, in percent.\n"
+ "The returned value will be expressed as minus the rate of change "
+ "of option value, per 365.25 days."
+ "\n"
+ "@EXAMPLES=\n"
+ "\n"
+ "@SEEALSO=opt_bs_call, opt_bs_put, opt_bs_call_delta "
+ "opt_bs_put_delta, opt_bs_call_rho, opt_bs_put_rho, "
+ "opt_bs_call_theta, opt_bs_vega, opt_bs_gamma")
+};
+
+static char *help_opt_bs_gamma = {
+ N_("@FUNCTION=opt_bs_gamma\n"
+ "@SYNTAX=opt_bs_gamma(strike,price,volatility,days_to_maturity,rate)\n"
+ "@DESCRIPTION="
+ "Uses the Black-Scholes model to calculate the \"gamma\" of a "
+ "European option struck at @strike on an asset with price @price.\n"
+ "(The gamma of an option is the second derivative of its price "
+ "with respect to the price of the underlying asset, and is the "
+ "same for calls and puts.)\n"
+ "@volatility is the annualized volatility, in percent, of the "
+ "asset for the period through to the exercise date. "
+ "@days_to_maturity the number of days to exercise, and @rate is "
+ "the risk-free interest rate to the exercise date, in percent.\n"
+ "The returned value will be expressed as the rate of change "
+ "of delta per unit change in @price."
+ "\n"
+ "@EXAMPLES=\n"
+ "\n"
+ "@SEEALSO=opt_bs_call, opt_bs_put, opt_bs_call_delta "
+ "opt_bs_put_delta, opt_bs_call_rho, opt_bs_put_rho, "
+ "opt_bs_call_theta, opt_bs_put_rho, opt_bs_vega")
+};
+
+static char *help_opt_bs_vega = {
+ N_("@FUNCTION=opt_bs_vega\n"
+ "@SYNTAX=opt_bs_bega(strike,price,volatility,days_to_maturity,rate)\n"
+ "@DESCRIPTION="
+ "Uses the Black-Scholes model to calculate the \"vega\" of a "
+ "European option struck at @strike on an asset with price @price.\n"
+ "(The vega of an option is the rate of change of its price with "
+ "respect to volatility, and is the same for calls and puts.)\n"
+ "@volatility is the annualized volatility, in percent, of the "
+ "asset for the period through to the exercise date. "
+ "@days_to_maturity the number of days to exercise, and @rate is "
+ "the risk-free interest rate to the exercise date, in percent.\n"
+ "The returned value will be expressed as the rate of change "
+ "of option value, per 100% volatilty."
+ "\n"
+ "@EXAMPLES=\n"
+ "\n"
+ "@SEEALSO=opt_bs_call, opt_bs_put, opt_bs_call_delta "
+ "opt_bs_put_delta, opt_bs_call_rho, opt_bs_put_rho, "
+ "opt_bs_call_theta, opt_bs_put_rho, opt_bs_gamma")
+};
+ModulePluginFunctionInfo derivatives_functions[] = {
+ {"opt_bs_call",
+ "fffff", "strike, price, volatility, days_to_maturity, rate",
+ &help_opt_bs_call, func_opt_bs_call},
+
{"opt_bs_put",
- "fffff", "strike_price, market_price, stddev, days_to_maturity, riskfree",
- NULL, func_opt_bs_put},
+ "fffff", "strike, price, volatility, days_to_maturity, rate",
+ &help_opt_bs_put, func_opt_bs_put},
+
+ {"opt_bs_call_delta",
+ "fffff", "strike, price, volatility, days_to_maturity, rate",
+ &help_opt_bs_call_delta, func_opt_bs_call_delta},
{"opt_bs_put_delta",
- "fffff", "strike_price, market_price, stddev, days_to_maturity, riskfree",
- NULL, func_opt_bs_put_delta},
+ "fffff", "strike, price, volatility, days_to_maturity, rate",
+ &help_opt_bs_put_delta, func_opt_bs_put_delta},
+ {"opt_bs_call_rho",
+ "fffff", "strike, price, volatility, days_to_maturity, rate",
+ &help_opt_bs_call_rho, func_opt_bs_call_rho},
+
{"opt_bs_put_rho",
- "fffff", "strike_price, market_price, stddev, days_to_maturity, riskfree",
- NULL, func_opt_bs_put_rho},
+ "fffff", "strike, price, volatility, days_to_maturity, rate",
+ &help_opt_bs_put_rho, func_opt_bs_put_rho},
+
+ {"opt_bs_call_theta",
+ "fffff", "strike, price, volatility, days_to_maturity, rate",
+ &help_opt_bs_call_theta, func_opt_bs_call_theta},
{"opt_bs_put_theta",
- "fffff", "strike_price, market_price, stddev, days_to_maturity, riskfree",
- NULL, func_opt_bs_put_theta},
+ "fffff", "strike, price, volatility, days_to_maturity, rate",
+ &help_opt_bs_put_theta, func_opt_bs_put_theta},
{"opt_bs_gamma",
- "fffff", "strike_price, market_price, stddev, days_to_maturity, riskfree",
- NULL, func_opt_bs_gamma},
+ "fffff", "strike, price, volatility, days_to_maturity, rate",
+ &help_opt_bs_gamma, func_opt_bs_gamma},
{"opt_bs_vega",
- "fffff", "strike_price, market_price, stddev, days_to_maturity, riskfree",
- NULL, func_opt_bs_vega},
+ "fffff", "strike, price, volatility, days_to_maturity, rate",
+ &help_opt_bs_vega, func_opt_bs_vega},
{NULL}
};
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]