![]() |
org.unizone.0.8538
Instance of TypeScriptInfo
Node data | Value |
org.edgescript.TypeScriptInfo.prerequisiteParcels | List{} |
org.edgescript.TypeScriptInfo.prerequisiteMethods | List{} |
org.edgescript.TypeScriptInfo.script | /* instance Yield yield; constructor() { Source:(); } constructor(YieldSwap yield) { Source:(); instance yield = yield; addNextSource(instance yield); } class Boolean isResourceOf(Listable node, Symbol aspect) { if (aspect == #adaptors) return true; false; } class String resourceLabel() "Name of resource" { "forward yield"; } String resourceString() "Description of resource" { "fwd " + instance yield.toString; } Symbol valueType() {#rate;} Void setYield(Yield yield) { instance yield = yield; addNextSource(yield); } Mixable mixWith(Mixable item) { instance yield = Producer.mix(0); if (instance yield == null' '!instance yield.class.subclassOf(Yield)) { Producer.report("Top mix must be a swap yield"); return null; } addNextSource(instance yield); this; } Collection[Class] requiredConditions() { #(ConditionForward, ConditionHistory, ConditionMaturity); } Object preferredFrom(Condition condition) { if (condition.class == ConditionHistory) return Time{ConditionHistory{condition}.to}.addDays(-30); Source:preferredFrom(condition); } Real forwardRate(Real s, Real ds) { if (ds <= 0) return null; Real t = s + ds; external cond_maturity = s; Real rateS = instance yield.aspectReal(#value) / 100; external cond_maturity = t; Real rateT = instance yield.aspectReal(#value) / 100; if (t - s < 1) { if (t < 1) return 100 * ((1 + t * rateT) / (1 + s * rateS) - 1) / ds; if (s < 1 && t > 1) return 100 * (((1 + rateT) ^ t) / (1 + s * rateS) - 1) / ds; return 100 * (((1 + rateT) ^ t) / ((1 + rateS) ^ s) - 1) / ds; } if (s < 1 && t > 1) return 100 * (((((1 + rateT) ^ t) / (1 + s * rateS)) ^ (1 / ds)) - 1); 100 * (((((1 + rateT) ^ t) / ((1 + rateS) ^ s)) ^ (1 / ds)) - 1); } Real aspectReal(Symbol aspect) { forwardRate(external cond_maturity, external cond_forward); } Object aspectValue(Symbol aspect) { forwardRate(external cond_maturity, external cond_forward); } String instanceScript(InstanceScriptInfo info) { instance yield.instanceScript(info); // create variables info.objectId(this, AdaptorYieldForward, "fwd"); } String initScript(InstanceScriptInfo info) { " " + info.methodPrefix(this) + "setYield(" + instance yield.instanceScript(info) + "); "; } */ |
org.edgescript.TypeScriptInfo.defineType | org.unizone.finance.interest.YieldForward |
org.edgescript.TypeScriptInfo.prerequisiteScripts | List{} |