RSJ Portfolio
/

Data & currencies

Where the prices come from, and what has to be fixed

The software only uses adjusted close prices, and those frequently contain errors. This page covers the supported data providers, the cleaning pipeline, the local cache and the conversion path for portfolios quoted in more than one currency.

RSJ Portfolio — Selection

RSJ Portfolio selection tab with stock search, candidate lists and price chart

Data cleaning

Every correction happens on the converted series, so outliers introduced by exchange rate gaps do not survive into the analysis.

Data cleaning is done after currency conversion.

Negative prices, zero prices and infinite prices are marked as invalid.

Missing and invalid values are filled with linear interpolation.

A maximum of 10 values each at the beginning and end are replaced with the preceding or following value.

All values that differ by more than the configured number of standard deviations from the average are marked as invalid.

Multi currency support

A portfolio is rarely quoted in a single currency. RSJ Portfolio converts each series through USD into the local currency you configured.

  • The currency of each stock is determined during search and stored.
  • The development of the exchange rates of the local currency against the USD is downloaded if a local currency is configured.
  • The development of the exchange rate of the stock specific currency against the USD is downloaded as well.
  • Missing values in the exchange rates are filled with linear interpolation.
  • An exchange factor from stock currency to local currency is calculated from this and used for the actual conversion.

All amounts are first converted into USD, then the USD amount is converted into the local currency.

Data providers

Yahoo Finance

Free, but only available for personal use.

End of Day Historical Data

Paid offering requiring a subscription that provides you with an API key. Well suited to commercial use.

Provider and currency settings are described in the configuration chapter of the user guide, and on the getting started page.

Adjusted close only

The software only uses "Adjusted Close" prices — the price after all stock splits and dividends have been applied. That is also why the series need cleaning: adjusted values frequently contain errors.

Prices are cached

Loaded prices are stored in a cache file in the data/cache directory of the application, so repeated optimizations do not re-download the same history.

Configuration lives in JSON

Configuration parameters are stored in the file portfolio.json in the data/config directory of the application, next to the cache.

Bring your own data provider

Yahoo Finance works out of the box for personal use; a subscription to End of Day Historical Data adds an API key for commercial use.

Windows 10 / 11, 64 Bit · 1 GB RAM · 1 GB disk space · Internet access for historic stock prices · Privacy · Imprint

Where to go deeper

Overview

The short version: what the product does and what it costs.

Back to the overview

Methods & features

Allocation methods, risk models, return models and the parameters that constrain them.

Methods and features

Getting started

Requirements, configuration, a step by step walkthrough and the results you get.

Getting started

Pricing

What the single user on premises license includes and how to get in touch.

Licensing

Blog

Background articles on the optimizer, the data and the methods, from the team building it.

Product blog