Skip to content

Commit ab2df58

Browse files
committed
Added content and delivery layer tutorials
1 parent 31b1ac9 commit ab2df58

31 files changed

Lines changed: 1499 additions & 0 deletions
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// tslint:disable: no-console
2+
// tslint:disable-next-line: no-implicit-dependencies
3+
import { IPA } from '@refinitiv-data/data';
4+
import { getSession } from '../../Common/session';
5+
6+
const session = getSession();
7+
8+
(async () => {
9+
try {
10+
await session.open();
11+
12+
const forwardCurveDefinition = {
13+
indexTenor: '3M',
14+
forwardCurveTag: 'ForwardTag',
15+
forwardStartDate: '2021-02-01',
16+
forwardCurveTenors: ['0D', '1D'],
17+
};
18+
19+
const swapCurveDefinition = {
20+
currency: 'EUR',
21+
indexName: 'EURIBOR',
22+
discountingTenor: 'OIS',
23+
};
24+
25+
const forwardCurveRequestItem = {
26+
curveDefinition: swapCurveDefinition,
27+
forwardCurveDefinitions: [forwardCurveDefinition],
28+
extendedParams: {
29+
outputs: ['Constituents'],
30+
},
31+
};
32+
33+
const curves = IPA.Curves.ForwardCurve.Definition(forwardCurveRequestItem);
34+
35+
const forwardCurvesData = await curves.getData(session);
36+
console.log('ForwardCurves data: ', forwardCurvesData.data);
37+
} catch (err) {
38+
console.log(err);
39+
} finally {
40+
session.close();
41+
}
42+
})();
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
// tslint:disable: no-console
2+
// tslint:disable-next-line: no-implicit-dependencies
3+
import { IPA } from '@refinitiv-data/data';
4+
import { getSession } from '../../Common/session';
5+
6+
const session = getSession();
7+
8+
(async () => {
9+
try {
10+
await session.open();
11+
12+
const forwardCurveDefinition = {
13+
indexTenor: '3M',
14+
forwardCurveTag: 'ForwardTag',
15+
forwardStartDate: '2021-02-01',
16+
forwardCurveTenors: ['0D', '1D'],
17+
};
18+
19+
const swapCurveDefinition = {
20+
currency: 'EUR',
21+
indexName: 'EURIBOR',
22+
discountingTenor: 'OIS',
23+
};
24+
25+
const forwardCurveDefinition1 = IPA.Curves.ForwardCurve.Definition({
26+
curveDefinition: swapCurveDefinition,
27+
forwardCurveDefinitions: [forwardCurveDefinition],
28+
extendedParams: {
29+
outputs: ['ShouldBeIgnoredIfPassedAsParameterToCurves'],
30+
},
31+
});
32+
const forwardCurveDefinition2 = IPA.Curves.ForwardCurve.Definition({
33+
curveDefinition: swapCurveDefinition,
34+
forwardCurveDefinitions: [forwardCurveDefinition],
35+
});
36+
const outputs = ['ShouldBeOverriddenByExtendedParams'];
37+
38+
const forwardCurves = IPA.Curves.ForwardCurves.Definition({
39+
universe: [forwardCurveDefinition1, forwardCurveDefinition2],
40+
outputs,
41+
extendedParams: {
42+
outputs: ['Constituents'],
43+
},
44+
});
45+
46+
const response = await forwardCurves.getData(session);
47+
console.log('ForwardCurves data: ', response.data.raw);
48+
} catch (err) {
49+
console.log(err);
50+
} finally {
51+
session.close();
52+
}
53+
})();
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// tslint:disable: no-console
2+
// tslint:disable-next-line: no-implicit-dependencies
3+
import { IPA } from '@refinitiv-data/data';
4+
import { getSession } from '../../Common/session';
5+
6+
const session = getSession();
7+
8+
(async () => {
9+
try {
10+
await session.open();
11+
12+
const params = {
13+
source: 'Refinitiv',
14+
extendedParams: {
15+
universe: [
16+
{
17+
source: 'UBS',
18+
},
19+
],
20+
},
21+
};
22+
23+
const curveDefinition = IPA.Curves.ZcCurveDefinition.Definition(params);
24+
25+
const zcCurveDefinitionData = await curveDefinition.getData(session);
26+
console.log('getZcCurveDefinition data: ', zcCurveDefinitionData.data.raw);
27+
} catch (err) {
28+
console.log(err);
29+
} finally {
30+
session.close();
31+
}
32+
})();
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
// tslint:disable: no-console
2+
// tslint:disable-next-line: no-implicit-dependencies
3+
import { IPA } from '@refinitiv-data/data';
4+
import { getSession } from '../../Common/session';
5+
6+
const session = getSession();
7+
8+
(async () => {
9+
try {
10+
await session.open();
11+
12+
const params1 = {
13+
source: 'Renault',
14+
};
15+
const params2 = {
16+
source: 'Peugeot',
17+
};
18+
19+
const curveDefinition1 = IPA.Curves.ZcCurveDefinition.Definition(params1);
20+
const curveDefinition2 = IPA.Curves.ZcCurveDefinition.Definition(params2);
21+
22+
const curvesDefinitions = IPA.Curves.ZcCurveDefinitions.Definition({
23+
universe: [curveDefinition1, curveDefinition2, IPA.Curves.ZcCurveDefinition.Definition({ source: 'Tesla' })],
24+
extendedParams: {
25+
universe: [
26+
{
27+
source: 'Mercedes',
28+
},
29+
{
30+
source: 'Refinitiv',
31+
},
32+
],
33+
},
34+
});
35+
36+
const zcCurveDefinitionsData = await curvesDefinitions.getData(session);
37+
console.log('getZcCurveDefinitions data: ', zcCurveDefinitionsData.data.raw);
38+
} catch (err) {
39+
console.log(err);
40+
} finally {
41+
session.close();
42+
}
43+
})();
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// tslint:disable: no-console
2+
// tslint:disable-next-line: no-implicit-dependencies
3+
import { IPA } from '@refinitiv-data/data';
4+
import { getSession } from '../../Common/session';
5+
6+
const session = getSession();
7+
8+
(async () => {
9+
try {
10+
await session.open();
11+
12+
// short definition
13+
const zcCurveDefinition = {
14+
currency: 'EUR',
15+
indexName: 'EURIBOR',
16+
source: 'Refinitiv',
17+
discountingTenor: '3M',
18+
};
19+
20+
// full definition
21+
const zcCurveRequestItem = {
22+
curveDefinition: zcCurveDefinition,
23+
extendedParams: {
24+
outputs: ['Constituents'],
25+
},
26+
};
27+
28+
const curves1 = IPA.Curves.ZcCurve.Definition({ curveDefinition: zcCurveDefinition });
29+
const curves2 = IPA.Curves.ZcCurve.Definition(zcCurveRequestItem);
30+
31+
const zcCurveData1 = await curves1.getData(session);
32+
const zcCurveData2 = await curves2.getData(session);
33+
console.log('zcCurveData1 data: ', zcCurveData1.data.raw);
34+
console.log('zcCurveData2 data: ', zcCurveData2.data.raw);
35+
} catch (err) {
36+
console.log(err);
37+
} finally {
38+
session.close();
39+
}
40+
})();
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// tslint:disable: no-console
2+
// tslint:disable-next-line: no-implicit-dependencies
3+
import { IPA } from '@refinitiv-data/data';
4+
import { getSession } from '../../Common/session';
5+
6+
const session = getSession();
7+
8+
(async () => {
9+
try {
10+
await session.open();
11+
12+
const curveDefinition = {
13+
currency: 'EUR',
14+
indexName: 'EURIBOR',
15+
source: 'Refinitiv',
16+
discountingTenor: '1Y',
17+
};
18+
19+
const zcCurveDefinition1 = IPA.Curves.ZcCurve.Definition({
20+
curveDefinition,
21+
});
22+
const outputs = ['ShouldBeOverriddenByExtendedParams'];
23+
24+
const zcCurves = IPA.Curves.ZcCurves.Definition({
25+
universe: [zcCurveDefinition1, IPA.Curves.ZcCurve.Definition({ curveDefinition })],
26+
outputs,
27+
extendedParams: {
28+
outputs: ['Constituents'],
29+
},
30+
});
31+
32+
const zcCurvesData = await zcCurves.getData(session);
33+
console.log('zcCurvesData data: ', zcCurvesData.data.raw);
34+
} catch (err) {
35+
console.log(err);
36+
} finally {
37+
session.close();
38+
}
39+
})();
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// tslint:disable: no-console
2+
// tslint:disable-next-line: no-implicit-dependencies
3+
import { IPA } from '@refinitiv-data/data';
4+
import { getSession } from '../../Common/session';
5+
6+
const session = getSession();
7+
8+
(async () => {
9+
try {
10+
await session.open();
11+
12+
const pricingParameters = { valuationDate: '2020-04-24' };
13+
const bondFutureDefinition = IPA.FinancialContracts.BondFuture.Definition({
14+
instrumentCode: 'FOATc3',
15+
pricingParameters,
16+
fields: ['YieldPercent'],
17+
extendedParams: {
18+
fields: ['NotionalAmount', 'DeliveryStartDate', 'ValuationDate'],
19+
},
20+
});
21+
const universe = [bondFutureDefinition];
22+
23+
const singleDefinitionResult = await bondFutureDefinition.getData(session);
24+
console.log('SingleDefinitionResult data: ', singleDefinitionResult.data.raw);
25+
26+
const fcDefinitionResult = await IPA.FinancialContracts.Definition({
27+
definitions: universe,
28+
extendedParams: {
29+
fields: ['InstrumentTag', 'InstrumentCode'],
30+
},
31+
}).getData(session);
32+
console.log('FCDefinitionResult data: ', fcDefinitionResult.data.raw);
33+
} catch (err) {
34+
console.log(err);
35+
} finally {
36+
session.close();
37+
}
38+
})();
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// tslint:disable: no-console
2+
// tslint:disable-next-line: no-implicit-dependencies
3+
import { IPA } from '@refinitiv-data/data';
4+
import { getSession } from '../../Common/session';
5+
6+
const session = getSession();
7+
(async () => {
8+
try {
9+
await session.open();
10+
11+
const bondDefinition = IPA.FinancialContracts.Bond.Definition({
12+
instrumentCode: 'US1YT=RR',
13+
paymentBusinessDayConvention: IPA.FinancialContracts.Bond.BusinessDayConvention.NextBusinessDay,
14+
pricingParameters: {
15+
benchmarkYieldSelectionMode: IPA.FinancialContracts.Bond.BenchmarkYieldSelectionMode.Interpolate,
16+
},
17+
outputs: [IPA.FinancialContracts.Bond.Outputs.Data, IPA.FinancialContracts.Bond.Outputs.Headers],
18+
fields: ['YieldPercent'],
19+
extendedParams: {
20+
fields: ['NotionalAmount', 'DeliveryStartDate', 'ValuationDate'],
21+
},
22+
});
23+
24+
const universe = [bondDefinition];
25+
26+
const bondResult = await bondDefinition.getData(session);
27+
console.log('Single Definition result data: ', bondResult.data);
28+
29+
const allDefinitionResults = await IPA.FinancialContracts.Definition({
30+
definitions: universe,
31+
extendedParams: {
32+
fields: ['InstrumentTag', 'InstrumentCode'],
33+
},
34+
}).getData(session);
35+
console.log('All Definition results data: ', allDefinitionResults.data);
36+
} catch (err) {
37+
console.log(err);
38+
} finally {
39+
session.close();
40+
}
41+
})();
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
// tslint:disable: no-console
2+
// tslint:disable-next-line: no-implicit-dependencies
3+
import { IPA } from '@refinitiv-data/data';
4+
import { getSession } from '../../Common/session';
5+
6+
const session = getSession();
7+
8+
(async () => {
9+
try {
10+
await session.open();
11+
12+
const capFloorDefinition = IPA.FinancialContracts.CapFloor.Definition({
13+
notionalCcy: 'EUR',
14+
buySell: IPA.FinancialContracts.CapFloor.BuySell.Buy,
15+
capStrikePercent: 1,
16+
startDate: '2019-02-11',
17+
tenor: '5Y',
18+
interestPaymentFrequency: IPA.FinancialContracts.CapFloor.PaymentFrequency.Quarterly,
19+
amortizationSchedule: [
20+
{
21+
amortizationType: IPA.FinancialContracts.CapFloor.AmortizationType.Schedule,
22+
startDate: '2021-02-11',
23+
endDate: '2022-02-11',
24+
amount: 100000,
25+
},
26+
{
27+
amortizationType: IPA.FinancialContracts.CapFloor.AmortizationType.Schedule,
28+
startDate: '2022-02-11',
29+
endDate: '2023-02-11',
30+
amount: 100000,
31+
},
32+
],
33+
pricingParameters: { valuationDate: '2020-04-24' },
34+
fields: ['YieldPercent'],
35+
extendedParams: {
36+
fields: ['NotionalAmount', 'DeliveryStartDate', 'ValuationDate'],
37+
},
38+
});
39+
const universe = [capFloorDefinition];
40+
41+
const singleDefinitionResult = await capFloorDefinition.getData(session);
42+
console.log('SingleDefinitionResult data: ', singleDefinitionResult.data);
43+
44+
const fcDefinitionResult = await IPA.FinancialContracts.Definition({
45+
definitions: universe,
46+
extendedParams: {
47+
fields: ['InstrumentTag', 'InstrumentCode'],
48+
},
49+
}).getData(session);
50+
console.log('FCDefinitionResult data: ', fcDefinitionResult.data);
51+
} catch (err) {
52+
console.log(err);
53+
} finally {
54+
session.close();
55+
}
56+
})();

0 commit comments

Comments
 (0)