Node org.unizone.finance.interest.YieldSwap

org.unizone.0.8542
Instance of TypeScriptInfo

Node dataValue
org.edgescript.TypeScriptInfo.prerequisiteParcelsList{}
org.edgescript.TypeScriptInfo.prerequisiteMethodsList{}
org.edgescript.TypeScriptInfo.script/* instance Collection[InstrumentOvernight] overnights; instance Collection[InstrumentStibor] stibors; instance Collection[InstrumentFRA] fras; instance Collection[InstrumentSwap] swaps; constructor() { Yield:(); } Void setOvernights(Collection[InstrumentOvernight] overnights) { instance overnights = overnights; overnights.do(Void(InstrumentOvernight i) {addNextSource(i)}); } Void setStibors(Collection[InstrumentStibor] stibors) { instance stibors = stibors; stibors.do(Void(InstrumentStibor i) {addNextSource(i)}); } Void setFRAs(Collection[InstrumentFRA] fras) { instance fras = fras; fras.do(Void(InstrumentFRA i) {addNextSource(i)}); } Void setSwaps(Collection[InstrumentSwap] swaps) { instance swaps = swaps; swaps.do(Void(InstrumentSwap i) {addNextSource(i)}); } Collection[InstrumentOvernight] overnights() { instance overnights; } Collection[InstrumentStibor] stibors() { instance stibors; } Collection[InstrumentFRA] fras() { instance fras; } Collection[InstrumentSwap] swaps() { instance swaps; } Object preferredFrom(Condition condition) { if (condition.class == ConditionHistory) return Time{ConditionHistory{condition}.to}.addDays(-30); TimeBuffer:preferredFrom(condition); } TimeData createData(Time time, Symbol resolution) { Producer.report("Preparing " + toString() + " at " + time.toString); List[TimeData] overnightData = new List(TimeData); List[TimeData] stiborData = new List(TimeData); List[TimeData] fraData = new List(TimeData); List[TimeData] swapData = new List(TimeData); external cond_history = time; Real value; instance overnights.do(Void(InstrumentOvernight overnight) { value = overnight.aspectReal(#bid); if (value != null && value != 0) { TimeData data = new TimeData(overnight, Time{overnight.aspectValue(#time)}); data.setAspect(#value, value); data.setAspect(#maturityDay, overnight.maturityDay); overnightData.add(data); } }); instance stibors.do(Void(InstrumentStibor stibor) { value = stibor.aspectReal(#ask); if (value != null && value != 0) { TimeData data = new TimeData(stibor, Time{stibor.aspectValue(#time)}); data.setAspect(#value, value); data.setAspect(#stiborMonths, stibor.stiborMonths); stiborData.add(data); } }); instance fras.do(Void(InstrumentFRA fra) { value = (fra.aspectReal(#ask) + fra.aspectReal(#bid)) / 2; if (value != null && value != 0) { TimeData data = new TimeData(fra, Time{fra.aspectValue(#time)}); data.setAspect(#value, value); data.setAspect(#fraNumber, fra.fraNumber); fraData.add(data); } }); instance swaps.do(Void(InstrumentSwap swap) { value = (swap.aspectReal(#ask) + swap.aspectReal(#bid)) / 2; if (value != null && value != 0) { TimeData data = new TimeData(swap, Time{swap.aspectValue(#time)}); data.setAspect(#value, value); data.setAspect(#swapYears, swap.swapYears); swapData.add(data); } }); Time lastTime = null; overnightData.do(Void(TimeData d) { if (lastTime == null' ' d.time > lastTime) lastTime = d.time; }); stiborData.do(Void(TimeData d) { if (lastTime == null' ' d.time > lastTime) lastTime = d.time; }); fraData.do(Void(TimeData d) { if (lastTime == null' ' d.time > lastTime) lastTime = d.time; }); swapData.do(Void(TimeData d) { if (lastTime == null' ' d.time > yData = new YieldSwapData(this, lastTime); if (!yData.formatCurve(overnightData, stiborData, fraData, swapData)) return null; yData; } */
org.edgescript.TypeScriptInfo.defineTypeorg.unizone.finance.interest.YieldSwap
org.edgescript.TypeScriptInfo.prerequisiteScriptsList{}