(Note there are similar questions, with different focuses at this forum, but my focus is more on the general concept, if any, about backtesting (for stocks) and sources of information where I can go to, if any, sorry if any duplicates)
I have started to use a backtesting system for the local stock market (Taiwan), I do still have some details that I need to understand more about:
Market data: daily: open, close, adjusted open, adjusted close, benchmark (market), etc., as well as monthly and quarterly data.
Parameters (input of backtesting): limit of number of stocks, position, stop loss %, take profit %, position limit %, trade at price (open, close, custom such as (adjusted open + adjusted close)/2)
Metrics: (output of backtesting): these values seem be based on ffn: rf (risk free rate%), total_return (not sure what), cagr (not sure whether this should be used as the score to evaluate a strategy or not), calmar (Calmar ratio %), daily_sharpe (Sharpe ratio), daily_sortino (Sortino ratio), daily_mean (annual return %?), daily_skew (skew), daily_kurt (Kurt), many of them with different timeframes: daily, monthly, quarterly, yearly, etc.. How are all these calculated? Which version of returns should be used: arithmetic average or geomretical average? How to calculate alphas, beta, etc.?
Portfolio of strategies: how to backtest a portfolio of strategies on top of the backtesting results of the component strategies? If I have 10 strategies from which to make a portfolio, even if with the equal weights assumption, there are 1023 possible combinations, how to evaluate and compare the performance of all of them? I myself use this: average(z-score of annualized return, z-score of annualized sharpe ratio, z-score of sortino ratio, z-score of calmar ratio) (z-score means the rank of the metric of one combination among all the possible combinations), but not sure if this makese sense. How about optimal weights of the portfolio from "efficient frontier" (any tool?)?
The stock market strategies are long position only strategies, do we need to add short market-level position to compensate them?
If we do not use AI/machine learning yet and do not want to split the data for in-sample/out-of-sample validation, is there a tool we can test the strategy by comparing yearly performances over time?
Please point me to sources, if any, with general backtesting algorthm and data structure (especailly for stock market), thanks in advance.