Maintain existing indexes · Develop new ones

Indexes Management System (IMS)

The Indexes Management System maintains existing indexes and develops new indexes. Every day it runs the indexes in production: data feeds, composition, corporate actions, calculation of price, total-return and net-return levels in several currencies, and dissemination to clients, websites and data vendors. For new indexes it takes a client's idea through specifications, rules and a back test, then into production alongside the rest of the family.

100,000+
indexes managed and disseminated
97
countries covered
10
levels of index innovation

Visit as a guest, or sign in with an approved account.

Home › Dashboard

Indexes dashboard

Find any index by name or code and filter by family, mother index, type, currency and weighting. Click an index to open its page.

Export CSV
Mother indexes

Price and total-return indexes share the same composition, and so do domestic and foreign-currency indexes. Each family has a mother index : the price index calculated in VND.

Home › Monitor

Monitor

Follow the progress and the quality of the daily data update: the publication pipeline, the data feeds, and the quality checks on prices, FX rates and index moves.

Last update

2026-10-09

End-of-day session

Prices received

Quality score

Open issues

Daily update pipeline

Demo schedule (Vietnam time). In production each step reports its own start, end and record counts.

Feeds and tables
Issues by session (last 60 sessions)
Checks
  • Missing price: no valid close for a constituent.
  • Price limit breach: daily move beyond the exchange band (HOSE 7%, HNX 10%) after removing corporate-action effects.
  • Stale price: close unchanged for 3 sessions.
  • FX jump: reference rate moves more than 1.5% in a day.
  • Index move to review: a mother index moves more than 4% in a day.
Issues log
Home › Database

Database

Reference data and prices of the instruments: currencies, crypto, commodities, indexes, bonds and funds. Choose a tab, then find an instrument by name or code, filter with the boxes and sort by clicking a column header.

Home › Corporate Actions

Corporate Actions

Review the corporate actions applied to the indexes, their treatment and divisor adjustments, and add manual adjustments when needed.

Treatment preview
Divisor and index adjustment factor Kt
Corporate actions register (idx_ca)
Processing rules
  • Corporate actions are created automatically from files or manually through this interface.
  • Manual processing is implemented for the END OF DAY stage; automatic real-time processing follows.
  • The treatment may be prepared during the session but is applied only after the market close.
  • The new number of shares and/or the adjusted price give the new capitalisation, then DIVISORt+1 = DIVISORt × adjusted CAPIt / CAPIt.
Home › Calculation › Index calculation

Index calculation

Follow an index through the intraday session and review its day, year-to-date and life statistics before publication.

Intraday session (5-minute calculation)
Day / Year to date / Life

Change and var compare the close with the previous day, the end of last year and the base value. Day high/low show their timestamps.

Calculation detail (idx_histoday)
Home › Calculation › Currency conversion

Currency conversion

Calculate indexes in foreign currencies, directly from converted prices or indirectly from the domestic index level, and check that both methods agree.

Direct method

Local stock prices are converted into the index currency with the real-time exchange rate X it .

Indirect method (method 2)

The mother index is converted with the previous calculation and the exchange-rate variation.

Mother index in VND vs converted levels
Method check
Exchange rate (VND per unit)
Home › Calculation › Design & back-test

Design & back-test

Turn an idea into an index: choose the universe, weighting, capping and base, then back-test it over the full history before it goes into production.

2 · Your index: back test vs IMS AllShare (rebased)
Statistics
Weights at last date
3 · My index

Publishing adds the index to the family: it is then calculated daily, adjusted for corporate actions and available in every tab.

Download index file
Home › Dissemination

Dissemination

Publish the index files and statistics to clients, the website and data vendors, and download historical, intraday, composition and corporate-action files.

idx_histoday

Daily closing levels since base date.

Download .csv
idx_intraday

5-minute levels of the last session.

Download .csv
idx_compo

Composition with N, F, k, M and weights.

Download .csv
idx_ca

Corporate actions applied to the indexes.

Download .csv
Publication status
Publication channels
FTP & web services

Index files (levels, compositions, corporate actions) for clients and information providers.

Website

Index levels, factsheets and statistics on the IFRC websites.

Data vendors

Distribution through Reuters, Bloomberg and other vendors; IS sales.

Home › Help › Methodology

Methodology

The formulas used to calculate the price, total-return and net-return indexes, the divisor adjustments, capping and currency conversion.

Price index (PI)

The price index level formula is used to calculate real-time index levels during the continuous trading phase.

$$PI_t = BASE \times \frac{\sum_{i=1}^{n} N_{it} F_{it} k_{it} M_i X_{it} P_{it}}{CAPI_0 \times K_t}$$

For convenience:

$$PI_t = BASE \times \frac{CAPI_t}{DIVISOR_t}, \quad CAPI_t = \sum_{i=1}^{n} N_{it} F_{it} k_{it} M_i X_{it} P_{it}, \quad DIVISOR_t = CAPI_0 \times K_t$$
Factors on the index level
  • Base capitalisation (CAPI0): initial capitalisation when the index is created; the reference used to track the index over time.
  • Base level (BASE): starting value in points, usually 1000 for blue chips / benchmarks and 100 for sectors.
  • Index adjustment factor (Kt): corrects the impact of corporate events so the level moves only with trading. Managed manually or automatically, ensuring no change between the evening close and the next morning's opening.
Factors on the sample level
  • Number of shares (Nit): all issued shares for all-share indexes; a representative number for sector or basket indexes.
  • Free float factor (Fit): adjusts shares to those truly available on the market (AllShare uses 100%, tradable indexes use the free float).
  • Capping factor (kit): keeps a single instrument's weight under a threshold such as 10% or 15%. Also the optional instrument adjustment factor (1 when not used).
  • Price multiplication (Mi): e.g. 1/100 for prices quoted in pence.
Return indexes

The total return (TRI) and net return (NRI) indexes reinvest gross and net dividends.

$$TRI_t = \frac{TRI_{d-1}}{PI_{d-1}} \times \left(PI_t + BASE\,\frac{GD_t}{DIVISOR_t}\right), \qquad NRI_t = \frac{NRI_{d-1}}{PI_{d-1}} \times \left(PI_t + BASE\,\frac{ND_t}{DIVISOR_t}\right)$$
$$GD_t = \sum_{i=1}^{n} N_{it} F_{it} k_{it} M_i X_{it} D_{it}$$
Currency conversion and corporate actions
$$I_t^{fc} = I_{t-1}^{fc} \times \frac{I_t^{dc}}{I_{t-1}^{dc}} \times \frac{cx_t^{fc/dc}}{cx_{t-1}^{fc/dc}}$$
$$DIVISOR_{t+1} = DIVISOR_t \times \frac{adjusted\ CAPI_t}{CAPI_t}$$
Home › Help › Database structure

Database structure

The tables of the indexes database, grouped from reference data and prices to calculation, history and corporate actions, with the structure of each table. Click a table name to display its data.

References

mar_ref 6 columns

Markets and trading sessions.

Column Type Key Description
market_code VARCHAR(10) PK Market code (HOSE, HNX)
market_name VARCHAR(100) Market name
country VARCHAR(50) Country of the market
currency CHAR(3) Trading currency
open_time TIME Opening of the continuous session
close_time TIME Close of the session
Table mar_ref data/rds/mar_ref.rds
sec_ref 2 columns

Sector classification.

Column Type Key Description
sector_code VARCHAR(10) PK Sector code
sector_name VARCHAR(100) Sector name
Table sec_ref data/rds/sec_ref.rds
stk_ref 6 columns

Stock reference data: market, sector, shares and free float.

Column Type Key Description
ticker VARCHAR(10) PK Stock code
name VARCHAR(100) Company name
market_code VARCHAR(10) FK mar_ref Listing market
sector_code VARCHAR(10) FK sec_ref Sector
shares_m NUMBER Number of shares (millions)
free_float NUMBER Free float (0 to 1)
Table stk_ref data/rds/stk_ref.rds
idx_ref 8 columns

Index reference: every index of the catalogue with its mother index, type and currency.

Column Type Key Description
code VARCHAR(20) PK Index code
name VARCHAR(150) Index name
mother VARCHAR(20) FK idx_specs Mother index (price index in VND)
family VARCHAR(30) Family: Benchmark, Sector, Strategy, Custom
type VARCHAR(30) Price, total return, net return, currency version
currency CHAR(3) Calculation currency
base NUMBER Base value
base_date DATE Base date
Table idx_ref data/rds/idx_ref.rds

Prices

stk_prices 3 columns

Daily closing prices of the stocks, full simulated history since 2019.

Column Type Key Description
date DATE PK Trading date
ticker VARCHAR(10) PK, FK stk_ref Stock code
close NUMBER Closing price (VND)
Table stk_prices data/rds/stk_prices.rds
cur_rates 3 columns

Daily currency reference rates.

Column Type Key Description
date DATE PK Date
USDVND NUMBER VND per 1 USD
EURVND NUMBER VND per 1 EUR
Table cur_rates data/rds/cur_rates.rds

Composition

idx_compo 2 columns

Constituent list of each mother index.

Column Type Key Description
code VARCHAR(20) PK, FK idx_specs Mother index
ticker VARCHAR(10) PK, FK stk_ref Constituent
Table idx_compo data/rds/idx_compo.rds
idx_composition 10 columns

Composition with the factors N, F, k, M and the weights on the last day.

Column Type Key Description
code VARCHAR(20) PK, FK idx_specs Mother index
ticker VARCHAR(10) PK, FK stk_ref Constituent
name VARCHAR(100) Company name
sector VARCHAR(100) Sector name
price NUMBER Last price P
shares_m NUMBER Shares N (millions)
free_float NUMBER Free float F
k NUMBER Capping / weighting factor k
M NUMBER Price multiplier M
weight NUMBER Weight in the index
Table idx_composition data/rds/idx_composition.rds

Calculation

idx_specs 10 columns

Index specifications: base, weighting, capping, review and tax.

Column Type Key Description
code VARCHAR(20) PK Mother index code
name VARCHAR(150) Index name
base NUMBER Base value
base_date DATE Base date
weighting VARCHAR(50) Weighting method
cap NUMBER Capping limit (0 = none)
review VARCHAR(20) Capping / weight review frequency
free_float BOOLEAN Free-float adjusted
nri_tax NUMBER Withholding tax for the net-return index
origin VARCHAR(20) IMS or client (custom)
Table idx_specs data/rds/idx_specs.rds
idx_intraday 3 columns

Intraday levels of IMS AllShare on the last session.

Column Type Key Description
code VARCHAR(20) PK, FK idx_ref Index code
time TIME PK Time of calculation
level NUMBER Index level
Table idx_intraday data/rds/idx_intraday.rds
idx_day 6 columns

Last-day statistics for every index of the catalogue.

Column Type Key Description
code VARCHAR(20) PK, FK idx_ref Index code
date DATE PK Session date
last NUMBER Closing level
var_pct NUMBER Day change (%)
ytd_pct NUMBER Year-to-date change (%)
y1_pct NUMBER One-year change (%)
Table idx_day data/rds/idx_day.rds
cmp_intraday 4 columns

Intraday contribution of each constituent to IMS AllShare (simulated).

Column Type Key Description
code VARCHAR(20) PK, FK idx_ref Index code
time TIME PK Time of calculation
ticker VARCHAR(10) PK, FK stk_ref Constituent
contribution NUMBER Contribution to the index change since the previous close (points)
Table cmp_intraday data/rds/cmp_intraday.rds

History

idx_histoday 10 columns

Daily history of IMS AllShare: PI, TRI, NRI, capitalisation, divisor and adjustment factor.

Column Type Key Description
code VARCHAR(20) PK, FK idx_ref Index code
date DATE PK Session date
PI NUMBER Price index
TRI NUMBER Total-return index
NRI NUMBER Net-return index
CAPI NUMBER Index capitalisation
DIVISOR NUMBER Divisor
Kt NUMBER Adjustment factor
GD NUMBER Gross dividends in index points
adjustment VARCHAR(200) Corporate actions applied
Table idx_histoday data/rds/idx_histoday.rds
stk_histoday 5 columns

Daily stock history with shares and free float, full simulated history since 2019.

Column Type Key Description
date DATE PK Session date
ticker VARCHAR(10) PK, FK stk_ref Stock code
close NUMBER Closing price
shares_m NUMBER Shares (millions)
free_float NUMBER Free float
Table stk_histoday data/rds/stk_histoday.rds
cmp_day 11 columns

Daily composition snapshot of IMS Tradable 10.

Column Type Key Description
date DATE PK Session date
code VARCHAR(20) PK, FK idx_specs Mother index
ticker VARCHAR(10) PK, FK stk_ref Constituent
name VARCHAR(100) Company name
sector VARCHAR(100) Sector name
price NUMBER Price
shares_m NUMBER Shares (millions)
free_float NUMBER Free float
k NUMBER Capping factor
M NUMBER Price multiplier
weight NUMBER Weight
Table cmp_day data/rds/cmp_day.rds

Corporate actions

stk_div 4 columns

Ordinary cash dividends per share.

Column Type Key Description
ticker VARCHAR(10) PK, FK stk_ref Stock code
ex_date DATE PK Ex-dividend date
amount NUMBER Dividend per share (VND)
source VARCHAR(20) Feed or manual input
Table stk_div data/rds/stk_div.rds
idx_ca 10 columns

Corporate actions processed, with the adjusted price, shares and divisor rule.

Column Type Key Description
ticker VARCHAR(10) PK, FK stk_ref Stock code
ex_date DATE PK Ex-date
type VARCHAR(60) PK Corporate action type
close_before NUMBER Close on the day before the ex-date
adjusted_price NUMBER Adjusted reference price
shares_before_m NUMBER Shares before (millions)
shares_after_m NUMBER Shares after (millions)
divisor_rule VARCHAR(100) Treatment of the divisor
note VARCHAR(200) Note
source VARCHAR(20) Feed or manual input
Table idx_ca data/rds/idx_ca.rds
Home › Help › Tables

Tables

Display the content of any table of the indexes database. The data are simulated for this demonstration.

References
Prices
Composition
Calculation
History
Corporate actions

Structure

Home › Help › Table display

Table display

Choose the fields shown in the dashboard and reference tables, their labels and their order (table ims_display).

1. Tables of the web pages

Click a table name to edit its fields below.

Export CSV

Tick Shown to display a field, edit its label, and move it up or down. Changes apply at once to the page; Save keeps them in data/rds/ims_display.rds.

Table ims_display data/rds/ims_display.rds
Home › Help › About

About

The CCPX platform ecosystem and the applications built around the Indexes Management System.

CCPR · 2013

Big data, research

Universities, corporates, institutions, media. Core for CCPX.
IMS

Indexes Management System

22,000 indexes. Indexing, design, back-testing, simple to sophisticated formula indexes.
CCPI · 2015

Investment

Funds, management, institutions, media. Show room, market place.
CCPS · 2017

Strategies

Retail investors, intraday traders. Signals, alerts, execution (API), predictions.
CCPE · 2023

Education

Students, workers, in-house, universities. FTD Institute certificates and courses.
Vietnam FTD Institute (FTDI)

Financial, Technology and Data Institute. 80% online, 20% offline; local and international programmes.

  • Data analyst / scientist: 4M learning + 2M internship + 3M project (analyst); 24M + 6M + 6M (scientist).
  • Financial analyst / engineer: 4M learning + 2M internship + 3M project (analyst); 24M + 6M + 6M (engineer).
Project initiator / leader
HM

Huu Minh MAI

Finance / mathematics / statistics, big data, programming and apps development.

  • Founder/CEO of Intelligence Financial Research and Consulting (IFRC), since 2010
  • Deputy Director of IREEDS, since 2018
  • Co-Founder of Beq Holdings, Head of Data Science, Research, Financial Markets, Technology and Indexes, since 2023
  • Editorial Board Member, Bloomberg/Newsweek Vietnam, since 2023

Price history

Performance and risk

Weights

Composition

Specifications

Home › Dashboard › Comparison

Indexes comparison

Compare the performance and risk of several indexes over the same period. Add indexes in the box below, or with the Comparison button of any index page.

to

Performance

Risk / return over the period

Home › Reference

Indexes reference

Reference data of every index of the Indexes Management System. Find an index by name or code, filter with the boxes and sort by clicking a column header.

Export CSV
Home › Existing indexes › Maintenance
Existing indexes

01 Maintenance

Daily update of the data inputs (prices, FX rates, dividends), quality checks and corporate actions with their divisor adjustments.

Page in development

This page is ready to be developed. Its content goes in PAGE_CONTENT$p_maintenance in R/home_pages.R.

In development
Home › Existing indexes › Calculation
Existing indexes

02 Calculation

End-of-day and intraday levels in price, total and net return, in the local and foreign currencies.

Page in development

This page is ready to be developed. Its content goes in PAGE_CONTENT$p_calculation in R/home_pages.R.

In development
Home › Existing indexes › Dissemination
Existing indexes

03 Dissemination

Statistics and index files sent by FTP, web services, the website and data vendors.

Page in development

This page is ready to be developed. Its content goes in PAGE_CONTENT$p_dissemination in R/home_pages.R.

In development
Home › New indexes › Design
New indexes

01 Design

Index specifications: target, universe, formula, weighting, capping, currency and the index rules.

Page in development

This page is ready to be developed. Its content goes in PAGE_CONTENT$p_design in R/home_pages.R.

In development
Home › New indexes › Backtest
New indexes

02 Backtest

At least five years of history, rebuilt with the same rules and corporate actions, before the index is approved.

Page in development

This page is ready to be developed. Its content goes in PAGE_CONTENT$p_backtest in R/home_pages.R.

In development
Home › New indexes › Analytics
New indexes

03 Analytics

Performance and risk analysis: return, volatility, drawdown, tracking error and attribution against the benchmark, before going into production.

Page in development

This page is ready to be developed. Its content goes in PAGE_CONTENT$p_analytics in R/home_pages.R.

In development
Home › The platform › What
The platform

What

A cloud-based platform for strategic design, execution and monitoring, integrating data, models, analytics and execution. It complements Research (CCPR) and Investment (CCPI).

Page in development

This page is ready to be developed. Its content goes in PAGE_CONTENT$p_what in R/home_pages.R.

In development
Home › The platform › Objectives
The platform

Objectives

Support strategy formulation, enable real-time analytics and decision-making, improve efficiency and scalability, and reduce cost and complexity.

Page in development

This page is ready to be developed. Its content goes in PAGE_CONTENT$p_objectives in R/home_pages.R.

In development
Home › The platform › Users
The platform

Users

Corporate strategy teams, investors and analysts, institutions and academics, governments and policy makers.

Page in development

This page is ready to be developed. Its content goes in PAGE_CONTENT$p_users in R/home_pages.R.

In development
Home › Customised indexes › My idea
Customised indexes

1 My idea

The client describes the idea. IMS designs the index: universe, rules, weighting and base.

Page in development

This page is ready to be developed. Its content goes in PAGE_CONTENT$p_myidea in R/home_pages.R.

In development
Home › Customised indexes › Your index
Customised indexes

2 Your index

IMS back-tests and calculates the index with its total-return, net-return and currency versions.

Page in development

This page is ready to be developed. Its content goes in PAGE_CONTENT$p_yourindex in R/home_pages.R.

In development
Home › Customised indexes › My index
Customised indexes

3 My index

The client owns a published index, calculated daily and maintained through every corporate action.

Page in development

This page is ready to be developed. Its content goes in PAGE_CONTENT$p_myindex in R/home_pages.R.

In development
Home › Existing indexes
Maintenance · Calculation · Dissemination

Existing indexes

IMS runs every index already in production, every day: the data inputs are updated and checked, corporate actions are applied through the divisor, the levels are calculated and the results are disseminated.

Page in development

The content of this page goes in section_page("p_existing") in R/home_pages.R.

In development
Home › New indexes
Design · Backtest · Analytics

New indexes

IMS develops new indexes from an idea: the specifications and rules are designed, the history is back-tested and the performance and risk are analysed before the index goes into production.

Page in development

The content of this page goes in section_page("p_new") in R/home_pages.R.

In development
Home › Customised indexes
My idea · Your index · My index

Customised indexes

IMS builds indexes for clients: the client brings the idea, IMS designs, back-tests and calculates the index, and the client owns a published index maintained every day.

Page in development

The content of this page goes in section_page("p_custom") in R/home_pages.R.

In development
Home › The platform
What · Objectives · Users

The platform

A cloud-based platform for strategic design, execution and monitoring of indexes, integrating data, models, analytics and execution.

Page in development

The content of this page goes in section_page("p_platform") in R/home_pages.R.

In development