Smart Beta has emerged as a highly promising technique in the finance industry. Its scalability and compatibility with other algorithms make it an essential step. This writing aims to standardize the smart beta backtesting process.
In the context of the Vietnam stock market, which differs significantly from the global market, algorithmic traders can follow this process to fully automate the smart beta backtesting process.
1. Data
To enhance efficiency and accuracy, it’s advisable to store data in a database. While many service providers offer algorithmic traders access to such data, it mainly works for visualization and gaining insights into specific criteria. However, it may not be suitable for large-scale market assessments.
Keep in mind there are distinct financial report structures for four different industries, including manufacturing, banking, securities, and insurance. A complete database provides full access to all these reports.
Database design requires flexibility since accounting standards may change over time. Such changes could require adjustments or the inclusion of additional information in the existing data.
2. Data Cleansing
Algorithmic traders often find this stage frustrating because data cleansing efforts in the Vietnamese stock market gives limited value. Despite using top-tier data providers in Vietnam, various errors still persist. Some common roost causes include:
-
Manual input: Manually entering data from files into a database often results in many errors. Algotrade has found many examples where input errors deviate significantly from the original values, sometimes by a factor of ten (adding or removing a zero in the number)
-
Change of law: In 2014, new regulations on reporting standards changed for the industrial sector after 200/2014/TT-BTC took effect Feb 05, 2015. As a result, the reporting format has changed both forward and backward in time. The challenge is in ensuring compatibility between the old and new formats. This change of law may happen to different sectors independently at different times. For instance, debt buying activities, previously not reported in the banking sector, are now part of the standard reporting practice.
-
Future updates: By 2025, many companies in Vietnam will need to adhere to the International Financial Reporting Standard (IFRS). Once again, data structures may undergo modification, requiring algorithmic traders to prepare for this impending change. Subtle yet critical changes may happen, such as listing items like Employee Stock Ownership Plans (ESOP) as expenses.
In the context of the Vietnamese stock market, there are two key recommendations for data cleansing. First, consider a sum check to assess the overall error in the whole market. The sum check function can provide true/false results for each category and its components, as well as the magnitude of the difference. Second, evaluate the cost associated with data cleansing to determine whether it’s worth fixing or ignoring. Sometimes, the data is not very insightful but the effort required for correction is prohibitively high. In these cases, algorithmic traders may opt to use valid data (e.g. category numbers) while disregarding specific components. For instance, they can use operating cash flow as input parameters but ignoring the components of operating cash flow.
3. Single factor backtesting
After handling the database, algorithmic traders might opt for single-factor backtesting first instead of multi-factor backtesting. This allows for clearer assessment of each factor’s contribution. After that, they can combine effective factors together to create a multi-factor backtesting approach.
When considering single factors to backtest, it’s not restricted to standard ratios. Any relevant metric derived from a usable dataset can offer much value. Some common single factors that investors often start with include P/E ratio, P/B ratio, ROE (return on equity), Operating Cash Flow, Profit Margin, and Equity Growth.
Here is a sample backtesting report for receivables turnover ratio: Link
4. Multi-factor backtesting
After completing single-factor backtesting, there are three approaches to create multi-factor criteria. The first two are more common. The first is to combine working single factors by merging them together. The second is a centralization method - use critical findings from single-factor backtesting as a pivot while only changing other subfactors. Lastly, algorithmic traders can randomly mix any combination of the factors they choose.
It’s advisable that each multi-factor backtesting should include 3 to 7 factors. Too few factors may lead to a volatile algorithm, while too many can result in a small pool of qualified stocks and model overfitting.
A multi-factor backtesting sample using 3 factors: Operating Cash Flow Growth, Debt Repayment and ROE is as follows: Here
5. Execution phase
Besides finding a combination of factors, algorithmic traders must thoroughly consider several other aspects.
Entry prices may be different from backtesting because real-time entry prices reflect current market prices, whereas during backtesting periods, entry prices are often based on closing prices.
Rebalancing periods significantly impact fees and algorithm stability. Excessive rebalancing can lead to higher fees, while infrequent rebalancing may reduce the algorithm’s effectiveness. The choice of rebalancing period greatly influences overall algorithm performance.
Asset weights is a complex subject, though it should be considered in the latter stage of smart beta strategies. For the initial stage, equal weights are recommended in smart beta backtesting for simplicity.
Execution algorithms also must be employed when traders execute orders for several days in a large account. Recall that TWAP, VWAP and POV are the most common execution algorithms.
Key Notes
In the real world, besides identifying performance factors, liquidity plays a crucial role. In fact, liquidity is critical. Without accounting for liquidity, any findings may be useless because no transactions can be made.
When configuring backtesting settings, algorithmic traders should distribute data ranges for in-sample backtesting, parameter optimization, and out-of-sample backtesting to validate factors and models.
Algorithmic traders might also consider incorporating technical indicators to improve entry points, especially if they are familiar with technical analysis.