Learn R Programming

⚠️There's a newer version (1.3.7) of this package.Take me there.

Overview

RTL is purposely designed trading, trading analytics and risk practitioners in Commodities and Finance. It also supports delivery of Finance classes from one of the creator now also in Academics at the Alberta School of Business.

Send feedback to pcote@ualberta.ca. We welcome feedback, suggestions and collaborators.

Energy Markets Reference Data

  • expiry_table: NYMEX and ICE contracts expiry tables.
  • holidaysOil: Holiday calendars for NYMEX and ICE.
  • tradeCycle: US and Canadian crude oil trading calendars.
  • tickers_eia: Mapping of EIA tickers to crude and refined products markets for building supply demand balances.
  • eiaStorageCap: Historical EIA crude storage capacity by PADD.
  • eiaStocks: Sample data set of EIA.gov stocks for key commodities.
  • cancrudeassays contains historical Canadian crude assays by batch from Crudemonitor. cancrudeassayssum is a summarised average assays version.
  • crudeassaysXOM for all publicly available complete assays in Excel format from ExxonMobil
  • crudeassaysBP for all publicly available complete assays in Excel format from BP

Swap Pricing and Contract Roll Adjustement

  • rolladjust() adjusts continuous contracts returns for roll adjustments using expiry_table.
  • swapCOM() computes Calendar Month Average commodity swap prices.
  • swapInfo() returns all information required to price first line futures contract averaging swap or CMA physical trade, including a current month instrument with prior settlements.
  • swapIRS() computes IRS swap prices.

Charting

  • chart_fwd_curves(): plots historical forward curves, a useful feature to understand the pricing dynamics of a market.
  • chart_zscore() supports seasonality adjusted analysis of residuals, particularly useful when dealing with commodity stocks and/or days demand time series with trends as well as non-constant variance across seasonal periods.
  • chart_eia_steo() and chart_eia_sd() return either a chart or dataframe of supply demand balances from the EIA.
  • chart_spreads() to generate specific contract spreads across years e.g. ULSD March/April. Requires Morninstar credentials.

APIs

Valid credentials for commercial API services are required.

Genscape

Genscape API functions:

  • getGenscapeStorageOil().
  • getGenscapePipeOil().

Morningstar Commodities

Morningstar Marketplace API functions:

  • getPrice(), getPrices() and getCurve() using your own Morningstar credentials. Current feeds included:

    • ICE_EuroFutures and ICE_EuroFutures_continuous.
    • CME_NymexFutures_EOD and CME_NymexFutures_EOD_continuous.
    • CME_NymexOptions_EOD.
    • CME_CbotFuturesEOD and CME_CbotFuturesEOD_continuous.
    • CME_Comex_FuturesSettlement_EOD and CME_Comex_FuturesSettlement_EOD_continuous.
    • LME_AskBidPrices_Delayed.
    • CME_CmeFutures_EOD and CME_CmeFutures_EOD_continuous.
    • CME_STLCPC_Futures.
    • ICE_NybotCoffeeSugarCocoaFutures and ICE_NybotCoffeeSugarCocoaFutures_continuous.
    • Morningstar_FX_Forwards.
    • … see ?getPrice for up to date selection and examples.

GIS Dataset

EIA

  • crudepipelines <- getGIS(url = "https://www.eia.gov/maps/map_data/CrudeOil_Pipelines_US_EIA.zip")
  • refineries <- getGIS(url = "https://www.eia.gov/maps/map_data/Petroleum_Refineries_US_EIA.zip")
  • productspipelines <- getGIS(url = "https://www.eia.gov/maps/map_data/PetroleumProduct_Pipelines_US_EIA.zip")
  • productsterminals <- getGIS(url = "https://www.eia.gov/maps/map_data/PetroleumProduct_Terminals_US_EIA.zip")
  • ngpipelines <- getGIS(url = "https://www.eia.gov/maps/map_data/NaturalGas_InterIntrastate_Pipelines_US_EIA.zip")
  • ngstorage <- getGIS(url = "https://www.eia.gov/maps/map_data/PetroleumProduct_Terminals_US_EIA.zip")
  • nghubs <- getGIS(url = "https://www.eia.gov/maps/map_data/NaturalGas_TradingHubs_US_EIA.zip")
  • lngterminals <- getGIS(url = "https://www.eia.gov/maps/map_data/Lng_ImportExportTerminals_US_EIA.zip")

Alberta Oil Sands, Petroleum and Natural Gas

  • AB <- getGIS(url = "https://gis.energy.gov.ab.ca/GeoviewData/OS_Agreements_Shape.zip")

Interest Rates

  • usSwapIRDef: Data frame of definitions for instruments to build a curve for use with RQuantlib. Use getIRswapCurve() to extract the latest data from FRED and Morningstar.
  • usSwapIR: Sample data set output of getIRswapCurve.
  • usSwapCurves: Sample data set output of RQuantlib::DiscountCurve().

Python

A python version of RTL for most functions is available at https://pypi.org/project/risktools/.

Installation

Latest Package devtools::install_github("risktoollib/RTL")

CRAN Stable install.packages("RTL")

Copy Link

Version

Install

install.packages('RTL')

Monthly Downloads

536

Version

1.0.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Philippe Cote

Last Published

February 12th, 2022

Functions in RTL (1.0.0)

CRReuro

Cox-Ross-Rubinstein binomial option model
RTL-package

RTL: Risk Tool Library - Trading, Risk, 'Analytics' for Commodities
crudeassaysXOM

Data for ExxonMobil crude assays
distdescplot

Summary of distribution properties of a timeseries
fizdiffs

Randomized data of physical crude differentials
fitOU

Fits a Ornstein<U+2013>Uhlenbeck process to a dataset
eia2tidy

EIA API call with tidy output
chart_fwd_curves

Plots historical forward curves
chart_pairs

Pairwise scatter plots for timeseries
eurodollar

Data for Eurodollar futures contracts
dfwide

Data for commodity prices in a wide dataframe format
expiry_table

Metadata for expiry of common commodity futures contract.
dflong

Data for commodity prices in a long dataframe format
crudes

Data for crude assays of 50+ types of crude oil.
getGIS

Extract and convert GIS data from a URL
getCurve

Morningstar Commodities API forward curves
chart_spreads

Futures contract spreads comparison across years
ir_df_us

Extracts US Treasury Zero Rates
getIRswapCurve

Morningstar Commodities API single call for IR curves
getGenscapeStorageOil

Genscape API call for oil storage
getGenscapePipeOil

Genscape API call for oil pipelines
rolladjust

Adjusts daily returns for futures contracts roll
returns

Compute absolute, relative or log returns.
npv

NPV
getPrice

Morningstar Commodities API single call
simOUJ

OUJ process simulation
fxfwd

Data for USDCAD FX forward rates
chart_zscore

Z-Score applied to seasonal data divergence
simOU

OU process simulation
swapCOM

Commodity Calendar Month Average Swaps
usSwapIRdef

Metadata to extract US interest rate curve data
simGBM

GBM process simulation
spot2futCurve

Data for spot to futures convergence - forward curve
eiaStocks

Data for EIA weekly stocks
crudeassaysBP

Data for BP crude assays
garch

Wrapper for a Garch(1,1) returning either a plot or data.
eiaStorageCap

Data for working storage capacity in the US
swapInfo

Commodity Swap details to learn their pricing
getPrices

Morningstar Commodities API multiple calls
tickers_eia

Metadata of key EIA tickers grouped by products.
holidaysOil

Metadata for NYMEX and ICE holiday calendars
wtiSwap

Data for WTI Calendar Month Average Swap pricing
spot2futConvergence

Data for spot to futures convergence - historical data
swapIRS

Interest Rate Swap
swapFutWeight

Commodity Calendar Month Average Swap futures weights
usSwapCurvesPar

Data for US interest rate discounting using zero rates parallel curve.
%>%

Pipe operator
usSwapIR

Data for bootstrapping US interest rate curve
planets

Data for IR compounding exercises
promptBeta

Computes betas of futures contracts with respect to the 1st line contract
ref.opt.outputs

Metadata for teaching refinery optimization using a LP model - OUTPUTS
ref.opt.inputs

Metadata for teaching refinery optimization using a LP model - INPUTS
refineryLP

LP model for refinery optimization
tradeprocess

Data for teaching the various ways to monetize a market call.
tradeCycle

Data for Canadian and US physical crude trading calendars
usSwapCurves

Data for US interest rate discounting using zero rates curve.
tradeStats

Risk-reward statistics for quant trading
chart_PerfSummary

Cumulative performance and drawdown summary.
cancrudeassayssum

Summarized data for Canadian crude assays
bond

Bond pricing
chart_eia_sd

EIA weekly Supply Demand information by product group
chart_eia_steo

EIA Short Term Energy Outlook
cancrudeassays

Data for Canadian crude assays reported by Crude Monitor
cancrudeprices

Randomized data for Canadian crude pricing.