org.unizone.finance.interest | ![]() |
org.unizone.0.6390
Instance of Type
Inheriting from SourceAdapterSingleTimeseries
Type data | Value |
org.uninode.Type.displayPattern | {att:org.unizone.source.Source.displayName} |
org.unizone.source.Source.valueAttribute | |
org.uninode.Resource.resourceType | |
org.uninode.Resource.label | |
org.uninode.Resource.resourceOf | List{} |
org.uninode.Listable.resources | Reference[org.uninode.Listable.resources] of org.unizone.finance.interest.YieldSwapPricing |
Attribute summary | Defined in | Uninode® Id | Properties | Default | |
Reference[org.uninode.Listable.resources] | resources | Listable | org.uninode.0.2001 | type | |
String | toString This is the display string. | Node | org.uninode.0.102 | ||
Type | type The type of an object determines the behaviour and attributes of the object. | Node | org.uninode.0.101 | ||
String | uri | Node | org.uninode.0.103 | ||
String | label | Resource | org.uninode.0.2041 | type | |
List[Type] | resourceOf | Resource | org.uninode.0.2042 | type | |
Signature | resourceType This defines the type of resource. It can be 'view', 'adapter' or 'action' | Resource | org.uninode.0.2043 | type | |
String | displayName The display name is the name that is shown in lists, displays and graphs. | Source | org.unizone.0.4001 | essential | |
Attribute | valueAttribute The value attribute is used for determining the default value that should be used for displaying this source in a graph. | Source | org.unizone.0.4011 | type inheritValue | |
Signature | valueType The value type determines which axes should be used in graphs. | Source | org.unizone.0.4002 | inheritValue | |
Source | source | SourceAdapterSingle | org.unizone.0.4051 |
Method summary | Defined in | Overrides | Properties | |
void | activate | Listable | ||
void | checkRange | SourceAdapterSingle | Source | |
void | designEditor(WidgetWorkspace ws) | Listable | ||
void | generateScript(ScriptGenerationInfo info) | SourceAdapterSingle | ScriptGenerator | |
Real | get(DateTime timestamp) | SourceAdapterSingleTimeseries | ||
Boolean | isResourceOf(Listable listable, Signature aspect) | Mixable | type | |
Listable | mixOn(Mixable mix) | Mixable | ||
Listable | mixWith(Mixable mix) | Mixable | ||
void | put(DateTime timestamp, Real value) | SourceAdapterSingleTimeseries | ||
String | resourceString | Listable | introspection | |
void | setSource(Source source) | SourceAdapterSingle | ||
Source | source | SourceAdapterSingle | ||
void | XXXcom.nodelab.java.sourceadaptersingle.CheckRange | SourceAdapterSingle | ||
Signature | XXXcom.nodelab.java.sourceadaptersingle.ValueType | SourceAdapterSingle | ||
void | com.nodelab.java.source.Activate | Source | Listable | |
Listable | com.nodelab.java.source.MixWithMi | Source | Mixable |
Script summary |
org.unizone.0.8544/* instance YieldSwap yield; instance InstrumentBond bond; constructor() { TimeBuffer:(); } constructor(YieldSwap yield, InstrumentBond bond) { TimeBuffer:(); instance yield = yield; instance bond = bond; addNextSource(instance yield); addNextSource(instance bond); } class Boolean isResourceOf(Listable node, Symbol aspect) { if (aspect == #adaptors) return true; false; } class String resourceLabel() "Name of resource" { "swap pricing"; } String resourceString() "Description of resource" { instance bond.toString + " on " + instance yield.toString; } Symbol valueType() { #yieldSwapPricing; } Void setYieldSwap(YieldSwap yield) { instance yield = yield; addNextSource(yield); } Void setBond(InstrumentBond bond) { instance bond = bond; addNextSource(bond); } trace Mixable mixWith(Mixable item) { instance yield = Producer.mix(0); if (instance yield == null' '!instance yield.class.subclassOf(YieldSwap)) { Producer.report("Top mix must be a swap yield"); return null; } instance bond = Producer.mix(1); if (instance bond == null' '!instance bond.class.subclassOf(InstrumentBond)) { Producer.report("Second mix must be a bond"); return null; } addNextSource(instance yield); addNextSource(instance bond); this; } Collection[Class] requiredConditions() { #(ConditionHistory); } Object preferredFrom(Condition condition) { if (condition.class == ConditionHistory) return Time{ConditionHistory{condition}.to}.addDays(-30); TimeBuffer:preferredFrom(condition); } trace TimeData createData(Time time, Symbol resolution) { Producer.report("Preparing " + toString() + " at " + time.toString); Real price = 0.0; Real t = Time{instance bond.aspectValue(#maturity)}.subtractDate360(time) / 360; while (t > 0) { external cond_maturity = t; price = price + instance yield.aspectReal(#discountFactor); t = t - 1; } price = price * Real{instance bond.aspectValue(#coupon)} + 100 - instance bond.dirtyPriceGreek(); t = Time{instance bond.aspectValue(#maturity)}.subtractDate360(time) / 360; Real divider = 0.0; external cond_maturity = t; Real d0 = instance yield.aspectReal(#discountFactor); Real d1; t = t - 0.25; while (t > 0) { external cond_maturity = t; d1 = d0; d0 = instance yield.aspectReal(#discountFactor); price = price - (d0 / d1 - 1) * 100 * d1; divider = divider + 25 * d1; t = t - 0.25; } price = price - (1 / d0 - 1) * 100 * d0; divider = divider + (t + 0.25) * 100 * d0; TimeData td = new TimeData(this, time); td.setAspect(#value, 10000 * price / divider); td; } String instanceScript(InstanceScriptInfo info) { instance yield.instanceScript(info); // create variables instance bond.instanceScript(info); // create variables info.objectId(this, AdaptorYieldSwapPricing, "ysp"); } String initScript(InstanceScriptInfo info) { String prefix = info.methodPrefix(this); " " + prefix + "setYieldSwap(" + instance yield.instanceScript(info) + "); " + prefix + "setBond(" + instance bond.instanceScript(info) + "); "; } */ |