Australian (ASX) Stock Market Forum

Amibroker as a fundamental analysis development tool - any developers?

Thank you for your feedback and point taken on participation. For me the most important is the fact that I'm a long term value investor. This is due to the tax advantages for SMSF when stock is kept longer than 1-year. That said it doesn't mean that I want to sleep on the shares selected. I had a look at your video and while I can see conceptually how you perform filtering, it doesn't show (perhaps on purpose) what fundamental parameters you select on.

Are you prepared to have a chat about the fundamentals you use and why on this thread:
https://www.aussiestockforums.com/forums/showthread.php?t=29587&p=861760&viewfull=1#post861760

Hi ottg,

I've replied on the thread.

The video just shows how the system works using a simple PB filter. Any piece of fundamental data can be used, as well as any custom ratios you define, as well as a combination of these.

I deliberately don't show my main filter, as I think I found something that is not widely published yet.

I agree with you on tax advantages.

Another way to look at it is that it is a form of indexing. You invest into a large group of stocks, making up some corner of the stock market, in belief that it will outperform the average, as a group. It requires little time or decision making. Good for those who don't have time, skill, or confidence to stock pick. And even if efficient market folks are right and no statistical edge can be found in fundamental data analysis, than you should, in theory, perform in line with the index.
 
The more I'm searching for a stock screener (for specific data manipulative requirements) the more it looks if it doesn't exist in the public domain. The quickest way to get something off the ground is to use AmiBroker which I read is a professional, powerful, comprehensive trading system development platform.

a. While it is mainly used for technical analysis can anyone indicate why it wont be suitable for fundamental analysis?
b. Any development or scripts need to be tested vigorously. It also appears from readings if Amibroker's cutting edge charting and graphics, and fast, flexible and powerful portfolio-level backtesting, optimization, and automated walk forward validation will be more than enough.


I'm an Amibroker user but no expert. I believe that fundamental data is only DISPLAYED in an information window. As far as I know, it cannot be used as input to generate signals or even displayed in a chart. I have imported fundamental data and that's what I concluded. If I'm totally wrong about this, could somebody please let me know.

Below is a cut-and paste from the Amibroker User's Guide

GetFnData - get fundamental data Information / Categories (AFL 2.90)

SYNTAX GetFnData( ''field'' )
RETURNS NUMBER or STRING
FUNCTION GetFnData allows accessing fundamental data from Information window (Window->Symbol Information) "field" parameter can be one of the following:
"EPS"
"EPSEstCurrentYear"
"EPSEstNextYear"
"EPSEstNextQuarter"
"PEGRatio"
"SharesFloat"
"SharesOut"
"DividendPayDate"
"ExDividendDate"
"BookValuePerShare"
"DividendPerShare"
"ProfitMargin"
"OperatingMargin"
"OneYearTargetPrice"
"ReturnOnAssets"
"ReturnOnEquity"
"QtrlyRevenueGrowth"
"GrossProfitPerShare"
"SalesPerShare"
"EBITDAPerShare"
"QtrlyEarningsGrowth"
"InsiderHoldPercent"
"InstitutionHoldPercent"
"SharesShort"
"SharesShortPrevMonth"
"ForwardDividendPerShare"
"ForwardEPS"
"OperatingCashFlow"
"LeveredFreeCashFlow"
"Beta"
"LastSplitRatio"
"LastSplitDate"
"Alias" (returns symbol alias - string) - 5.50 and above
"Address" (returns symbol address - string) - 5.50 and above
"Country" (returns symbol country - string) - 5.60 and above
"DelistingDate" returns symbol delisting date (as datetime) - 5.70 and above

EXAMPLE AddColumn( Close / GetFnData( "EPS" ) , "Current P/E ratio" );
AddColumn( Close / GetFnData( "EPSEstNextYear" ) , "Est. Next Year P/E ratio" );
Filter = Status("lastbarinrange");
SEE ALSO GetRTData() function , GetRTDataForeign() function

References:
The GetFnData function is used in the following formulas in AFL on-line library:

ICHIMOKU SIGNAL TRADER
Price Chart - Fundamental
More information: Updated on-line reference

______________

You would be aware that you can get a trial version that is fully functional except for saving work. You can set it up and download Yahoo or Google data including fundamental in a matter of minutes to play around with. All the data will be lost when you close Amibroker, so it's a bit tedious. But it's free and should show you what can be done.

Maybe I'm displaying my ignorance here, but nobody else seems to have answered your original question.
 
My contribution is this addition I made to a buy condition. Tested on AllOrds Yahoo financial data which Ami. can download for free. I would suggest actual data to be used but going on the results over various periods, a low PE ratio does improve the backtests I ran. The low PE ratio range was found using optimise function where PE outside the ranges performed worse. Maybe Premium Data could look at offering basic Fundamental Data in their subscriptions. :1zhelp:

PERatio = C / GetFnData("EPS");
Buy = XXXXXXX & PERatio >= 0 & PERatio < 6
 
Hi KnowThePast --

My analysis is based on position management where the trader's risk tolerance does not permit holding positions with drawdowns that exceed his or her tolerance.

An example of a statement of risk tolerance that an aggressive individual trader might use is:
"I am trading a $100,000 account and forecasting two years into the future.
I want to hold the risk of a drawdown (measured as daily mark-to-market decline in my trading account) greater than 20% to a maximum chance of 5%."

Most professional money managers I work with find the 20% too high -- preferring single digits.

Without a set of rules that govern when to exit positions that have open-trade losses, drawdowns can be, and have been, steep and long. Some taking many more than three years to recover. Some never recovering.

With a set of exit rules, the risk and profit potential of those rules can be tested. Tests show that drawdown tolerance for most people is reached at about two weeks (with high trade selection accuracy) or a few days (with more relaxed trade selection accuracy).

To hold three years, your tolerance for drawdown is much greater than mine, or your trade selection much better than mine.

Best regards,
Howard
 
Hi KnowThePast --

My analysis is based on position management where the trader's risk tolerance does not permit holding positions with drawdowns that exceed his or her tolerance.

An example of a statement of risk tolerance that an aggressive individual trader might use is:
"I am trading a $100,000 account and forecasting two years into the future.
I want to hold the risk of a drawdown (measured as daily mark-to-market decline in my trading account) greater than 20% to a maximum chance of 5%."

Most professional money managers I work with find the 20% too high -- preferring single digits.

Without a set of rules that govern when to exit positions that have open-trade losses, drawdowns can be, and have been, steep and long. Some taking many more than three years to recover. Some never recovering.

With a set of exit rules, the risk and profit potential of those rules can be tested. Tests show that drawdown tolerance for most people is reached at about two weeks (with high trade selection accuracy) or a few days (with more relaxed trade selection accuracy).

To hold three years, your tolerance for drawdown is much greater than mine, or your trade selection much better than mine.

Best regards,
Howard

No argument from me, Howard.

But this is a very different argument from the original statement that "lack of value of fundamental data for trading". To me it clearly has value, whether that trading style for everyone is a different topic.

Following these kind of fundamental based signals is similar to indexing, both resulting in a highly diversified portfolio with large drawdown. So is indexing then also not a valuable strategy because of drawdown risk? This makes no sense to me.
 
Greetings --

This is a link to a paper I wrote a few years ago outlining my thoughts on the use of fundamental data:

http://www.blueowlpress.com/Use of Fundamental Data in Active Investing.pdf

Best regards,
Howard

Thank you Howard. Here follows a few comments based on your paper. I also want to differentiate between using fundamentals for quantitative analysis to execute trading decisions versus decision support systems. I believe there is a subtle difference.

Economic indicators, such as those published by governmental and other agencies, are not appropriate for direct use in active trading systems for reasons involving their timeliness and accuracy.

Agree that is why I will use that mainly for discretionary decisions. One that I use to improve my personal awareness is http://www.tradingeconomics.com/

Company fundamental data are not appropriate for use in active trading systems for reasons involving their timeliness and accuracy.

Again it depends on your definition of active trading system and the strategy. While the objective is to always select the most profitable opportunity it depends over what time period. I use company fundamentals to select the most lucrative shares that performed best over the long term during the up turn, down turn and recovery period. While that is no a guarantee that there wont be other shares that outperform during the upturn usually they suffer during the downturn and immediate next upturn. That offers me some risk mitigated against a sudden down turn. However some of the additional company fundamentals need to be derived from the raw balance sheet data.

If sectors are carefully and narrowly defined, most of the price movement of individual securities is due to price movement of the associated sector.

Yes there is no doubt that sectors have there own cycles but within each sector there are obviously better and worst performing shares. We need to be able to filter them and again it can be done based on company balance sheet fundamentals and other derived fundamentals.

Intermarket analysis, such as examination of interest rates, can be used for broad market timing, or to create filters to permit or block equity trades.

Yes, depends on the purpose but here I use volumetric, momentum indicators and volatility indicators collectively as leading indicator only to show the better time to buy or sell. Interest rates I may use to determine when to switch into the long term bond market.

In short I dont believe that fundamental exclusively can be used to do automated quantitative trading but again that is not my intent.
 
I'm an Amibroker user but no expert. I believe that fundamental data is only DISPLAYED in an information window. As far as I know, it cannot be used as input to generate signals or even displayed in a chart. I have imported fundamental data and that's what I concluded. .......

Thank you Habakkuk. Yes I will be able to use those fundamentals and will be able to assess them in Amibroker and use data extraction via AmiQuote.

For a start the three main balance sheet data required: DY, EPS and not found there is Return on Capital employed. I also cannot see a way to exactly derive that.

I may be able to do: Ret on Cap =~ EBIT/book value
where book value ~= Net assets value

I guess as long as I use the same equation on all shares. Any ideas from anyone?
 
Thank you Habakkuk. Yes I will be able to use those fundamentals and will be able to assess them in Amibroker and use data extraction via AmiQuote.

For a start the three main balance sheet data required: DY, EPS and not found there is Return on Capital employed. I also cannot see a way to exactly derive that.

I may be able to do: Ret on Cap =~ EBIT/book value
where book value ~= Net assets value

I guess as long as I use the same equation on all shares. Any ideas from anyone?

I certainly used to import fundamental data and use it in AmiBroker. Can't remember the specifics as it was 7 years ago and the computer long gone but I used it to test a Dividend system.
 
Top