Anyone been successful in backtesting based on fundamental data (pe ratio, dividend yield, debt ratio etc.) as opposed to more conventional bactesting on technical data (price, volume etc)
Lets just say I wanted to compare
-25% lowest p/e stocks vs the index
or
-top 20 by debt yield vs the lowest in the asx200
or
-top 20 stocks by shareholder yield vs the index
Any ideas on how I'd go about sourcing the data? No problem doing some excel manipulation/calcs but don't really want to source the raw data line by line
Anyone been successful in backtesting based on fundamental data (pe ratio, dividend yield, debt ratio etc.) as opposed to more conventional bactesting on technical data (price, volume etc)
Lets just say I wanted to compare
-25% lowest p/e stocks vs the index
or
-top 20 by debt yield vs the lowest in the asx200
or
-top 20 stocks by shareholder yield vs the index
Any ideas on how I'd go about sourcing the data? No problem doing some excel manipulation/calcs but don't really want to source the raw data line by line
Anyone been successful in backtesting based on fundamental data (pe ratio, dividend yield, debt ratio etc.) as opposed to more conventional bactesting on technical data (price, volume etc)
Lets just say I wanted to compare
-25% lowest p/e stocks vs the index
or
-top 20 by debt yield vs the lowest in the asx200
or
-top 20 stocks by shareholder yield vs the index
Any ideas on how I'd go about sourcing the data? No problem doing some excel manipulation/calcs but don't really want to source the raw data line by line
As a first guess, I'd say you can't avoid extensive manual collation.
The problem with all the fundamentals you mention lies in the fact that it's not sufficient to have e.g. historic ex-div dates, but you'll need to consider when exactly new figures have become available.
Take the example of TPC: ex-div 3cFF on May 1st; but it had been mooted several weeks ago and the punters that paid attention then would've gone in well below 10c. How do you assess that when you back-test in a year's time?
Welcome to my playground!
You can read my thread, where I've posted some of my backtesting results (page 10 for Price/Book and 14 for Alt Z).
I am afraid I am not aware of any way that you can easily do it yourself.
I wrote the software from scratch. There was nothing like it in Australia that I could find. There's some kits in overseas markets, but they all had limitations I didn't like. You can do some of the functionality in Excel, but only for simpler tests.
On the data side, it gets worse - all data feeds that I could find were rediculously expensive and most of them did not provide all the data that I needed. The best data available probably belongs to brokers/funds, where it is manually entered, but is proprietary. In the end, I've ended up just using my manually entered data. Lots of work, but wasn't as bad for me, since I've already recorded that data whenever I'd research a new company.
In addition to my posts, here's a quick demo of my software:
https://www.youtube.com/watch?v=a85bD6iXBVc&feature=player_embedded
As far as timing issues go, yes, one certainly needs to be aware of them. There's a number of approaches:
1. Ignore them all together. Just buy and sell on numbers, ignoring any announcement, etc. This has more merit that may seem at first. Yes, some annoucements provide guidance on changed fundamentals in the future, but some are just distraction. From an automation perspective, it's hard to tell which is which.
2. Record them in your data. There's been some great studies done on announcements and market reaction. It is striking how different those reactions are for cheap vs expensive stocks.
3. Limit buy/sell decisions to times of low announcement activity, eg. not in the leading 1-2 months to a report.
Feel free to ask any questions, this is one topic I love talking about!
???
Robin?
Just checked out your YouTube. Great stuff. Just wondering what your background is and how you invest etc... The average human being does not produce what you have done. So I am curious. Hats off to you.
Alfred
Welcome to my playground!
You can read my thread, where I've posted some of my backtesting results (page 10 for Price/Book and 14 for Alt Z).
I am afraid I am not aware of any way that you can easily do it yourself.
I wrote the software from scratch. There was nothing like it in Australia that I could find. There's some kits in overseas markets, but they all had limitations I didn't like. You can do some of the functionality in Excel, but only for simpler tests.
On the data side, it gets worse - all data feeds that I could find were rediculously expensive and most of them did not provide all the data that I needed. The best data available probably belongs to brokers/funds, where it is manually entered, but is proprietary. In the end, I've ended up just using my manually entered data. Lots of work, but wasn't as bad for me, since I've already recorded that data whenever I'd research a new company.
In addition to my posts, here's a quick demo of my software:
https://www.youtube.com/watch?v=a85bD6iXBVc&feature=player_embedded
As far as timing issues go, yes, one certainly needs to be aware of them. There's a number of approaches:
1. Ignore them all together. Just buy and sell on numbers, ignoring any announcement, etc. This has more merit that may seem at first. Yes, some annoucements provide guidance on changed fundamentals in the future, but some are just distraction. From an automation perspective, it's hard to tell which is which.
2. Record them in your data. There's been some great studies done on announcements and market reaction. It is striking how different those reactions are for cheap vs expensive stocks.
3. Limit buy/sell decisions to times of low announcement activity, eg. not in the leading 1-2 months to a report.
Feel free to ask any questions, this is one topic I love talking about!
Are there any fundamental-based software out there?
How much would an investor be willing to pay for a good one?
Seems there's Charting, and some so called Fundamentals that basically give you the figures.. and by the look of it, those figures are bought from S&P or Morningstar and rearranged.
Thanks Alfred, you are too kind.
I've "played" in the stock market since late 90's, but didn't put much effort into it until about 7-8 years ago, when I started managing my own super. I was always oriented more towards fundamentals, and most of efforts have been to find undervalued companies from that perspective. I have achieved a return a few percent above the indexes in this time, which I was happy with, given the severe position restrictions my super imposed.
Automated strategies, backed by backtesting is something that I've always leaned towards, but didn't embrace fully until fairly recently. My experience kept telling me that even though my results were good, they would have been better if I didn't try to pick the best prospects, but simply bought everything in my filters.
I look at what I've done as a product of multiple coincidences.
1. I've been in the market for a long time, trying different things.
2. The way I conducted research, I already had a lot of data entered over the years.
3. My profession is software development, mostly in financials area. Quite a bit of it in storing and analyzing financials. So writing software to store my research + financials was not as difficult of a task.
4. Initially when I wrote the software, it wasn't for backtesting, but just as a convenient place to store my entered data instead of Excel. I kept adding features to it, but because it happened over many years, it never felt like a huge amount of work.
5. A few lucky design decisions made the data flexible enough so that it could be used for other purposes. So, when my backtesting idea came along, I already had 90% in place for it.
If I didn't have almost everything in place by the time I decided to implement back testing, I would have never started doing it, way too much work doing it from scratch for someone with as little capital as me. But, due to sheer luck, everything fell in place to make it happen.
I have recently decided to run a fully public portfolio, documenting all my investments in real time. You can follow my adventure in my thread:
https://www.aussiestockforums.com/forums/showthread.php?t=26890
As a retail investor with a small budget, I couldn't find anything.
I don't know about larger funds, but I suspect most of them don't use anything similar either.
There are pre-canned systems out there which fill fundamental data and time series data and then allow you to manipulate it within reason for basics. These will cost upwards of USD 50k per annum. And, KTP, that's just part of the reason why you are a genius in the flesh.
I thought you wrote $50 per year... but it's 50k, as in $50 000, in US dollars.
Pre-canned results are no good.
I've used them, but that's mainly because I don't know any better, and it's free. But to pay $50K... I'll stick to excel.
USD 50k pa yep. I was unclear. The platform is pre-canned. That is, you buy it and it's ready to go. The results are whatever you happen to be researching. The platform gathers the data and manipulates it. This data management and manipulation is hard to achieve and you'll find that if you are using Excel. They don't provide pre-canned factors unless you are seeking factor returns from commercial risk systems. If you are, these will cost about USD$80k pa more.
Most of the above is sometimes used as a step phase for privately built engines which will cost millions to develop, often with proprietary data to boot.
It's pretty much out of the league of the average punter. Maybe you can group up and share the costs and combine research? If you work this out, it might make sense relative to the cost of time that you would spend developing and maintaining your own systems.
1. What is proprietary data? Raw financial data they entered themselves?
2. Are you talking about the Bloomberg terminal or some other system?
3. How do you know so much about these? From your research or work RY?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?