Title: | A Package for Asset Projection |
---|---|
Description: | Presents a "Scenarios" class containing general parameters, risk parameters and projection results. Risk parameters are gathered together into a ParamsScenarios sub-object. The general process for using this package is to set all needed parameters in a Scenarios object, use the customPathsGeneration method to proceed to the projection, then use xxx_PriceDistribution() methods to get asset prices. |
Authors: | Jean-Charles Croix, Thierry Moudiki, Frédéric Planchet, Wassim Youssef |
Maintainer: | Wassim Youssef <[email protected]> |
License: | GPL (>= 2) |
Version: | 1.3 |
Built: | 2025-01-29 05:08:28 UTC |
Source: | https://github.com/cran/ESG |
Risk neutral Economic Scenario Generator.
Package: | ESG |
Type: | Package |
Version: | 1.2 |
Date: | 2020-11-29 |
License: | GNU |
Depends: | methods |
The package is build around the "Scenarios" object.
Use the dedicated methods to set all the needed parameters then use the customPathsGeneration() method to proceed to the asset projection.
Get a distribution for any asset price. This method is a wrapper for asset specific pricers.
type |
The name of the asset to price. It must be 'Zero-Coupon', 'Bond', 'CBond', 'EuroCall_UL', 'EuroPut_UL', 'EuroCall_ZC' or 'EuroPut_ZC'. |
t |
Date of pricing (has to be an integer) |
T |
Date of maturity for the option |
nCoupons |
Number of coupons |
couponsRate |
Rate of coupons |
omega |
Recoverables in case of default |
s |
Date of maturity for the underlying |
Strike |
Strike for options |
objScenario <- new("Scenarios") # Basic scenario's parameters setting objScenario <- setParamsBaseScenarios(objScenario, horizon = 10, nScenarios = 1000) # Risk factors parameters setting objScenario <- setRiskParamsScenariosrt(objScenario, vol = .1, k = 2) objScenario <- setRiskParamsScenariosS(objScenario, vol = .1, k = 2, volStock = .2, stock0 = 100, rho=.5) objScenario <- setRiskParamsScenariosliqSpr(objScenario, eta=.05, liquiditySpread0=.01) objScenario <- setRiskParamsScenariosdefSpr(objScenario, volDefault=.2, defaultSpread0=.01, alpha=.1, beta=1) # Forward and ZC rates setting data(ZC) objScenario <- setForwardRates(objScenario, ZC, horizon=10) objScenario <- setZCRates(objScenario, ZC, horizon=10) # Projection objScenario <- customPathsGeneration(objScenario, type="shortRate") objScenario <- customPathsGeneration(objScenario, type="stock") objScenario <- customPathsGeneration(objScenario, type="defaultSpread") objScenario <- customPathsGeneration(objScenario, type="liquiditySpread") Asset_PriceDistribution(objScenario,type='ConvBond',t=0,T=10,nCoupons=1,couponsRate=0.03)
objScenario <- new("Scenarios") # Basic scenario's parameters setting objScenario <- setParamsBaseScenarios(objScenario, horizon = 10, nScenarios = 1000) # Risk factors parameters setting objScenario <- setRiskParamsScenariosrt(objScenario, vol = .1, k = 2) objScenario <- setRiskParamsScenariosS(objScenario, vol = .1, k = 2, volStock = .2, stock0 = 100, rho=.5) objScenario <- setRiskParamsScenariosliqSpr(objScenario, eta=.05, liquiditySpread0=.01) objScenario <- setRiskParamsScenariosdefSpr(objScenario, volDefault=.2, defaultSpread0=.01, alpha=.1, beta=1) # Forward and ZC rates setting data(ZC) objScenario <- setForwardRates(objScenario, ZC, horizon=10) objScenario <- setZCRates(objScenario, ZC, horizon=10) # Projection objScenario <- customPathsGeneration(objScenario, type="shortRate") objScenario <- customPathsGeneration(objScenario, type="stock") objScenario <- customPathsGeneration(objScenario, type="defaultSpread") objScenario <- customPathsGeneration(objScenario, type="liquiditySpread") Asset_PriceDistribution(objScenario,type='ConvBond',t=0,T=10,nCoupons=1,couponsRate=0.03)
Get a distribution for bond price.
t |
Date of pricing (has to be an integer) |
T |
Date of maturity |
nCoupons |
Number of coupons |
couponsRate |
Rate of coupons |
Get a distribution for corporate bond price.
t |
Date of pricing (has to be an integer) |
T |
Date of maturity |
nCoupons |
Number of coupons |
couponsRate |
Rate of coupons |
omega |
Recoverables in case of default |
Proceed to the projection using the parameters that were previously set into the Scenarios objet.
t |
Date of pricing (has to be an integer) |
T |
Date of maturity for the option |
omega |
Recoverables in case of default |
Proceed to the projection using the parameters that were previously set into the Scenarios objet.
type |
The name of the asset for which a projection has to be proceeded. Can be 'shortRate', 'stock', 'realEstate', 'liquiditySpread' or 'defaultSpread'. If NULL, all assets will be projected. |
t |
Date of pricing (has to be an integer) |
T |
Date of maturity for the option |
nCoupons |
Number of coupons |
couponsRate |
Rate of coupons |
Proceed to the projection using the parameters that were previously set into the Scenarios objet.
type |
The name of the asset for which a projection has to be proceeded. Can be 'shortRate', 'stock', 'realEstate', 'liquiditySpread' or 'defaultSpread'. If NULL, all assets will be projected. |
objScenario <- new("Scenarios") # Basic scenario's parameters setting objScenario <- setParamsBaseScenarios(objScenario, horizon = 10, nScenarios = 1000) # Risk factors parameters setting objScenario <- setRiskParamsScenariosrt(objScenario, vol = .1, k = 2) objScenario <- setRiskParamsScenariosS(objScenario, vol = .1, k = 2, volStock = .2, stock0 = 100, rho=.5) objScenario <- setRiskParamsScenariosliqSpr(objScenario, eta=.05, liquiditySpread0=.01) objScenario <- setRiskParamsScenariosdefSpr(objScenario, volDefault=.2, defaultSpread0=.01, alpha=.1, beta=1) # Forward and ZC rates setting data(ZC) objScenario <- setForwardRates(objScenario, ZC, horizon=10) objScenario <- setZCRates(objScenario, ZC, horizon=10) # Projection objScenario <- customPathsGeneration(objScenario, type="shortRate") objScenario <- customPathsGeneration(objScenario, type="stock") objScenario <- customPathsGeneration(objScenario, type="defaultSpread") objScenario <- customPathsGeneration(objScenario, type="liquiditySpread")
objScenario <- new("Scenarios") # Basic scenario's parameters setting objScenario <- setParamsBaseScenarios(objScenario, horizon = 10, nScenarios = 1000) # Risk factors parameters setting objScenario <- setRiskParamsScenariosrt(objScenario, vol = .1, k = 2) objScenario <- setRiskParamsScenariosS(objScenario, vol = .1, k = 2, volStock = .2, stock0 = 100, rho=.5) objScenario <- setRiskParamsScenariosliqSpr(objScenario, eta=.05, liquiditySpread0=.01) objScenario <- setRiskParamsScenariosdefSpr(objScenario, volDefault=.2, defaultSpread0=.01, alpha=.1, beta=1) # Forward and ZC rates setting data(ZC) objScenario <- setForwardRates(objScenario, ZC, horizon=10) objScenario <- setZCRates(objScenario, ZC, horizon=10) # Projection objScenario <- customPathsGeneration(objScenario, type="shortRate") objScenario <- customPathsGeneration(objScenario, type="stock") objScenario <- customPathsGeneration(objScenario, type="defaultSpread") objScenario <- customPathsGeneration(objScenario, type="liquiditySpread")
Get a distribution for EuroCall UL price.
t |
Date of pricing (has to be an integer) |
T |
Date of maturity |
Strike |
Strike of the option |
Get a distribution for EuroCall ZC price.
t |
Date of pricing (has to be an integer) |
T |
Date of maturity |
s |
Date of maturity for the underlying |
Strike |
Strike of the option |
Get a distribution for EuroPut UL price.
t |
Date of pricing (has to be an integer) |
T |
Date of maturity |
Strike |
Strike of the option |
Get a distribution for EuroPut ZC price.
t |
Date of pricing (has to be an integer) |
T |
Date of maturity |
s |
Date of maturity for the underlying |
Strike |
Strike of the option |
Get default spread paths for a Scenarios object after projection.
Get the forward rates for a Scenarios object.
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) data(ZC) scenarios1 <- setForwardRates(scenarios1, ZC, horizon=5) getForwardRates(scenarios1)
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) data(ZC) scenarios1 <- setForwardRates(scenarios1, ZC, horizon=5) getForwardRates(scenarios1)
Get liquidity spread paths for a Scenarios object after projection.
Get a list containing the horizon and number of scenarios for a Scenarios object.
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) getParamsBaseScenarios(scenarios1)
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) getParamsBaseScenarios(scenarios1)
Get real estate paths for a Scenarios object after projection.
Get a list containing all risk paramaters for a Scenarios object.
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) getRiskParamsScenarios(scenarios1)
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) getRiskParamsScenarios(scenarios1)
Get a list containing the risk paramaters related to default spread for a Scenarios object.
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) getRiskParamsScenariosdefSpr(scenarios1)
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) getRiskParamsScenariosdefSpr(scenarios1)
Get a list containing the risk paramaters related to the spread for a Scenarios object.
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) getRiskParamsScenariosliqSpr(scenarios1)
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) getRiskParamsScenariosliqSpr(scenarios1)
Get a list containing the risk paramaters related to Real Estate for a Scenarios object.
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) getRiskParamsScenariosRE(scenarios1)
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) getRiskParamsScenariosRE(scenarios1)
Get a list containing the risk paramaters related to short rates for a Scenarios object.
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) getRiskParamsScenariosrt(scenarios1)
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) getRiskParamsScenariosrt(scenarios1)
Get a list containing the risk paramaters related to UL for a Scenarios object.
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) getRiskParamsScenariosS(scenarios1)
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) getRiskParamsScenariosS(scenarios1)
Get the short rate paths for a Scenarios object after projection.
Get the ZC rates for a Scenarios object.
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) data(ZC) scenarios1 <- setZCRates(scenarios1, ZC, horizon=5) getZCRates(scenarios1)
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) data(ZC) scenarios1 <- setZCRates(scenarios1, ZC, horizon=5) getZCRates(scenarios1)
Test the martingale for the Scenarios object.
objScenario <- new("Scenarios") # Basic scenario's parameters setting objScenario <- setParamsBaseScenarios(objScenario, horizon = 10, nScenarios = 1000) # Risk factors parameters setting objScenario <- setRiskParamsScenariosrt(objScenario, vol = .1, k = 2) objScenario <- setRiskParamsScenariosS(objScenario, vol = .1, k = 2, volStock = .2, stock0 = 100, rho=.5) objScenario <- setRiskParamsScenariosliqSpr(objScenario, eta=.05, liquiditySpread0=.01) objScenario <- setRiskParamsScenariosdefSpr(objScenario, volDefault=.2, defaultSpread0=.01, alpha=.1, beta=1) # Forward and ZC rates setting data(ZC) objScenario <- setForwardRates(objScenario, ZC, horizon=10) objScenario <- setZCRates(objScenario, ZC, horizon=10) # Projection objScenario <- customPathsGeneration(objScenario, type="shortRate") objScenario <- customPathsGeneration(objScenario, type="stock") objScenario <- customPathsGeneration(objScenario, type="defaultSpread") objScenario <- customPathsGeneration(objScenario, type="liquiditySpread") MartingaleTest(objScenario)
objScenario <- new("Scenarios") # Basic scenario's parameters setting objScenario <- setParamsBaseScenarios(objScenario, horizon = 10, nScenarios = 1000) # Risk factors parameters setting objScenario <- setRiskParamsScenariosrt(objScenario, vol = .1, k = 2) objScenario <- setRiskParamsScenariosS(objScenario, vol = .1, k = 2, volStock = .2, stock0 = 100, rho=.5) objScenario <- setRiskParamsScenariosliqSpr(objScenario, eta=.05, liquiditySpread0=.01) objScenario <- setRiskParamsScenariosdefSpr(objScenario, volDefault=.2, defaultSpread0=.01, alpha=.1, beta=1) # Forward and ZC rates setting data(ZC) objScenario <- setForwardRates(objScenario, ZC, horizon=10) objScenario <- setZCRates(objScenario, ZC, horizon=10) # Projection objScenario <- customPathsGeneration(objScenario, type="shortRate") objScenario <- customPathsGeneration(objScenario, type="stock") objScenario <- customPathsGeneration(objScenario, type="defaultSpread") objScenario <- customPathsGeneration(objScenario, type="liquiditySpread") MartingaleTest(objScenario)
This class is a container for all the risk related parameters. It is used as a parameter for the Scenarios class.
Horizon for the projection (in years)
Number of scenarios
Volatility for rates in vasicek model
k for rates in vasicek model
Volatility for UL in Black & Scholes model
Volatility for real estate in Black & Scholes model
Stock initial value
Real estate initial value
Volatility for LMN model
alpha for LMN model
beta for LMN model
eta for LMN model
Initial liquidity for LMN model
Initial default spread for LMN model
Correlation between stock and short rates
Direct generation for all risk factors. Object creation is managed internally.
rAllRisksFactors(horizon, nScenarios, ZC, vol, k, volStock, stock0, rho, volRealEstate, realEstate0, eta, liquiditySpread0, defaultSpread0, volDefault, alpha, beta)
rAllRisksFactors(horizon, nScenarios, ZC, vol, k, volStock, stock0, rho, volRealEstate, realEstate0, eta, liquiditySpread0, defaultSpread0, volDefault, alpha, beta)
horizon |
Horizon of projection |
nScenarios |
Number of scenarios |
ZC |
ZC rate input |
vol |
Volatility for short rates |
k |
k for rates in vasicek model |
volStock |
Volatility for stock |
stock0 |
Initial value for stock |
rho |
Correlation between stock and short rates |
volRealEstate |
Volatility for real estate |
realEstate0 |
Initial value for real estate |
eta |
eta Volatility for LMN model |
liquiditySpread0 |
Initial value for liquidity spread |
defaultSpread0 |
Initial value for default spread |
volDefault |
Volatilty for default spread |
alpha |
alpha for LMN model |
beta |
beta Volatility for LMN model |
data(ZC) rAllRisksFactors(horizon=5, nScenarios=10, ZC, vol=.1, k=2, volStock=.2, stock0=100, rho=.5, volRealEstate=.15, realEstate0=50, eta=.05, liquiditySpread0=.01, defaultSpread0=.01, volDefault=.2, alpha=.1, beta=1)
data(ZC) rAllRisksFactors(horizon=5, nScenarios=10, ZC, vol=.1, k=2, volStock=.2, stock0=100, rho=.5, volRealEstate=.15, realEstate0=50, eta=.05, liquiditySpread0=.01, defaultSpread0=.01, volDefault=.2, alpha=.1, beta=1)
Direct generation for all assets values. Object creation is managed internally.
rAssetDistribution(type, t, T, vol, k, ZC, nScenarios = NULL, volStock = NULL, stock0 = NULL, rho = NULL, volRealEstate = NULL, realEstate0 = NULL, eta = NULL, liquiditySpread0 = NULL, defaultSpread0 = NULL, volDefault = NULL, alpha = NULL, beta = NULL, nCoupons = NULL, couponsRate = NULL, omega = NULL, s = NULL, Strike = NULL)
rAssetDistribution(type, t, T, vol, k, ZC, nScenarios = NULL, volStock = NULL, stock0 = NULL, rho = NULL, volRealEstate = NULL, realEstate0 = NULL, eta = NULL, liquiditySpread0 = NULL, defaultSpread0 = NULL, volDefault = NULL, alpha = NULL, beta = NULL, nCoupons = NULL, couponsRate = NULL, omega = NULL, s = NULL, Strike = NULL)
type |
Type of asset. Can be : Zero-Coupon, Bond, CBond, ConvBond, EuroCall_S, EuroPut_Stock, EuroCall_ZC, EuroPut_ZC or CDS. |
t |
Date of pricing (has to be an integer) |
T |
Date of maturity for the option |
vol |
Volatility for short rates |
k |
k for rates in vasicek model |
ZC |
ZC rate input |
nScenarios |
Number of scenarios |
volStock |
Volatility for stock |
stock0 |
Initial value for stock |
rho |
Correlation between stock and short rates |
volRealEstate |
Volatility for real estate |
realEstate0 |
Initial value for real estate |
eta |
eta Volatility for LMN model |
liquiditySpread0 |
Initial value for liquidity spread |
defaultSpread0 |
Initial value for default spread |
volDefault |
Volatilty for default spread |
alpha |
alpha for LMN model |
beta |
beta Volatility for LMN model |
nCoupons |
Number of coupons |
couponsRate |
Rate of coupons |
omega |
Recoverables in case of default |
s |
Date of maturity for the underlying |
Strike |
Strike for options |
data(ZC) rAssetDistribution(type="Zero-Coupon",t=2,T=3,vol=.1, k=2, ZC=ZC, nScenarios=100) rAssetDistribution(type="Bond",t=3,T=35,nCoupons=20, couponsRate=0.3,vol=.1, k=2, ZC=ZC, nScenarios=10) rAssetDistribution(type="CBond",t=5,T=35,nCoupons=5, couponsRate=0.3, omega=5,vol=.1, k=2, ZC=ZC, nScenarios=10,eta=.05, liquiditySpread0=.01, defaultSpread0=.01, volDefault=.2, alpha=.1, beta=1) rAssetDistribution(type="EuroPut_Stock",5,25,Strike=98.5,vol=.1,k=2,ZC=ZC,volStock=.2, stock0=100, rho=.5,nScenarios=10) rAssetDistribution(type="EuroCall_ZC",4,4.5,s=5, Strike=.985,vol=.1, k=2, ZC=ZC,nScenarios=10) rAssetDistribution(type="EuroPut_ZC",4,4.5,s=5, Strike=.9385,vol=.1, k=2, ZC=ZC,nScenarios=10)
data(ZC) rAssetDistribution(type="Zero-Coupon",t=2,T=3,vol=.1, k=2, ZC=ZC, nScenarios=100) rAssetDistribution(type="Bond",t=3,T=35,nCoupons=20, couponsRate=0.3,vol=.1, k=2, ZC=ZC, nScenarios=10) rAssetDistribution(type="CBond",t=5,T=35,nCoupons=5, couponsRate=0.3, omega=5,vol=.1, k=2, ZC=ZC, nScenarios=10,eta=.05, liquiditySpread0=.01, defaultSpread0=.01, volDefault=.2, alpha=.1, beta=1) rAssetDistribution(type="EuroPut_Stock",5,25,Strike=98.5,vol=.1,k=2,ZC=ZC,volStock=.2, stock0=100, rho=.5,nScenarios=10) rAssetDistribution(type="EuroCall_ZC",4,4.5,s=5, Strike=.985,vol=.1, k=2, ZC=ZC,nScenarios=10) rAssetDistribution(type="EuroPut_ZC",4,4.5,s=5, Strike=.9385,vol=.1, k=2, ZC=ZC,nScenarios=10)
Direct default spread generation. Object creation is managed internally.
rDefaultSpread(horizon, nScenarios, defaultSpread0, volDefault, alpha, beta)
rDefaultSpread(horizon, nScenarios, defaultSpread0, volDefault, alpha, beta)
horizon |
Horizon of projection |
nScenarios |
Number of scenarios |
defaultSpread0 |
Initial value for default spread |
volDefault |
Volatility |
alpha |
alpha for LMN model |
beta |
beta Volatility for LMN model |
rDefaultSpread(horizon=5, nScenarios=8, defaultSpread0=.01, volDefault=.2, alpha=.1, beta=1)
rDefaultSpread(horizon=5, nScenarios=8, defaultSpread0=.01, volDefault=.2, alpha=.1, beta=1)
Direct liquidity spread generation. Object creation is managed internally.
rLiquiditySpread(horizon, nScenarios, eta, liquiditySpread0)
rLiquiditySpread(horizon, nScenarios, eta, liquiditySpread0)
horizon |
Horizon of projection |
nScenarios |
Number of scenarios |
eta |
eta Volatility for LMN model |
liquiditySpread0 |
Initial value for liquidity spread |
rLiquiditySpread(horizon=5, nScenarios=15, eta=.05, liquiditySpread0=.01)
rLiquiditySpread(horizon=5, nScenarios=15, eta=.05, liquiditySpread0=.01)
Direct real estate generation. Object creation is managed internally.
rRealEstate(horizon, nScenarios, ZC, vol, k, volRealEstate, realEstate0)
rRealEstate(horizon, nScenarios, ZC, vol, k, volRealEstate, realEstate0)
horizon |
Horizon of projection |
nScenarios |
Number of scenarios |
ZC |
ZC rate input |
vol |
Volatility for short rates |
k |
k for rates in vasicek model |
volRealEstate |
Volatility |
realEstate0 |
Initial value for real estate |
data(ZC) rRealEstate(horizon=5, nScenarios=10, ZC=ZC, vol=.1, k=2, volRealEstate=.15, realEstate0=50)
data(ZC) rRealEstate(horizon=5, nScenarios=10, ZC=ZC, vol=.1, k=2, volRealEstate=.15, realEstate0=50)
Direct short rate generation. Object creation is managed internally.
rShortRate(horizon, nScenarios, ZC, vol, k)
rShortRate(horizon, nScenarios, ZC, vol, k)
horizon |
Horizon of projection |
nScenarios |
Number of scenarios |
ZC |
ZC rate input |
vol |
Volatility for short rates |
k |
k for rates in vasicek model |
data(ZC) rShortRate(horizon=15, nScenarios=10, ZC=ZC, vol=.1, k=2)
data(ZC) rShortRate(horizon=15, nScenarios=10, ZC=ZC, vol=.1, k=2)
Direct stock generation. Object creation is managed internally.
rStock(horizon, nScenarios, ZC, vol, k, volStock, stock0, rho)
rStock(horizon, nScenarios, ZC, vol, k, volStock, stock0, rho)
horizon |
Horizon of projection |
nScenarios |
Number of scenarios |
ZC |
ZC rate input |
vol |
Volatility for short rates |
k |
k for rates in vasicek model |
volStock |
Volatility |
stock0 |
Initial value for stock |
rho |
Correlation between stock and short rates |
data(ZC) rStock(horizon=10, nScenarios=7, ZC=ZC, vol=.1, k=2, volStock=.2, stock0=100, rho=.5)
data(ZC) rStock(horizon=10, nScenarios=7, ZC=ZC, vol=.1, k=2, volStock=.2, stock0=100, rho=.5)
This is the main class of the package. It has several method to read and write the parameters.
A ParamsScenarios object containing the risk parameters
The forward rates
Volatility for rates in vasicek model
The short rate generated paths
The stock generated paths
The real estate generated paths
The liquidity spread generated paths
The liquidity spread generated paths
The default spread generated paths
Calculate and set the forward rates in a Scenarios object. Internaly, this method uses the ForwardExtraction() function.
ZC |
The Zero Coupon rates |
horizon |
Horizon for the calculation (in years) |
scenarios1 <- new("Scenarios") scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) data(ZC) scenarios1 <- setForwardRates(scenarios1, ZC, horizon=5)
scenarios1 <- new("Scenarios") scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) data(ZC) scenarios1 <- setForwardRates(scenarios1, ZC, horizon=5)
Set the horizon and nScenarios parameters of the
[ParamsScenarios
] sub-object of a
Scenarios object
horizon |
Horizon for the projection (in years) |
nScenarios |
Number of scenarios |
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10)
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10)
Set all the risk parameters of a Scenarios object
(contained in a [ParamsScenarios
]
sub-object)
vol |
Volatility for rates in vasicek model |
k |
k for rates in vasicek model |
volStock |
Volatility for UL in Black & Scholes model |
volRealEstate |
Volatility for real estate in Black & Scholes model |
volDefault |
Volatility for LMN model |
alpha |
alpha for LMN model |
beta |
beta Volatility for LMN model |
eta |
eta Volatility for LMN model |
rho |
Correlation between stock and short rates |
stock0 |
UL initial value |
realEstate0 |
Real estate initial value |
liquiditySpread0 |
Initial liquidity for LMN model |
defaultSpread0 |
Initial default spread for LMN model |
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01)
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01)
Set risk parameters related to default spread in a
Scenarios object (these parameters are contained in a
[ParamsScenarios
] sub-object)
volDefault |
Volatility for LMN model |
defaultSpread0 |
Initial default spread for LMN model |
alpha |
alpha for LMN model |
beta |
beta Volatility for LMN model |
Set risk parameters related to the spread in a Scenarios
object (these parameters are contained in a
[ParamsScenarios
] sub-object)
eta |
eta Volatility for LMN model |
liquiditySpread0 |
Initial liquidity for LMN model |
Set risk parameters related to real estates in a
Scenarios object (these parameters are contained in a
[ParamsScenarios
] sub-object)
vol |
Volatility for rates in vasicek model |
k |
k for rates in vasicek model |
volRealEstate |
Volatility for real estate in Black & Scholes model |
realEstate0 |
Real estate initial value |
Set risk parameters related to short rates in a Scenarios
object (these parameters are contained in a
[ParamsScenarios
] sub-object)
vol |
Volatility for rates in vasicek model |
k |
k for rates in vasicek model |
Set risk parameters related to short rates in a Scenarios
object (these parameters are contained in a
[ParamsScenarios
] sub-object)
vol |
Volatility for rates in vasicek model |
k |
k for rates in vasicek model |
volStock |
Volatility for UL in Black & Scholes model |
stock0 |
UL initial value |
rho |
Correlation between stock and short rates |
Set the ZC rates in a Scenarios object. Internaly, this method uses the ZCExtraction() function.
ZC |
The Zero Coupon rates |
horizon |
Horizon for the calculation (in years) |
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) data(ZC) scenarios1 <- setZCRates(scenarios1, ZC, horizon=5)
scenarios1 <- new("Scenarios") scenarios1 <- setParamsBaseScenarios(scenarios1, horizon=5, nScenarios=10) scenarios1 <- scenarios1 <- setRiskParamsScenarios(scenarios1, vol=.1, k=2,volStock=.2, volRealEstate=.15, volDefault=.2, alpha=.1,beta=1, eta=.05,rho=.5, stock0=100,realEstate0=50, liquiditySpread0=.01, defaultSpread0=.01) data(ZC) scenarios1 <- setZCRates(scenarios1, ZC, horizon=5)
ZC data for exemples in the documentation
data(ZC)
data(ZC)
data(ZC)
data(ZC)
Get a distribution for ZC bond price.
t |
Date of pricing (has to be an integer) |
T |
Date of maturity |