Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

My quest for a simple investing model that requires very little babysitting, re-balancing, and with a better than market risk profile

branch: master
README.rdoc

Disclaimer

This is my approach to investing outlined. It's provided for informational purposes only. This isn't investment advice. I am not an investment advisor. You use this information _at your own risk_. By using this code, you agree the responsibilities listed below in the “License & Disclaimer” section.

Richie Rich

MY GOAL: Follow a simple investing model that requires very little babysitting and re-balancing, and with a better than market risk profile.

The richie_rich.rb script notifies me once a month with an email report outlining whether each of the funds below should be in a buy/hold or sell/cash position.

Sample Report Output

Investment Setup

1) I setup an account with Vanguard. The Vanguard family of funds are famous for being rock solid with very little management overhead.

2) I purchased a series of Vanguard mutual funds in a series of non-correlated markets. I followed the fund recommendations outlined in the book, The Gone Fishin’ Portfolio.

"Your asset allocation is your single biggest investment decision.  Studies show that over 90% of your 
portfolio's long-term return is due to this factor alone.", 
[Green A., The Gone Fishin' Portfolio, pg. 88]

3) After purchasing the listed funds with the above allocations, in effort to reduce risk, I utilize the “Systematic Tactical Asset Allocation” method as outlined in the book The Ivy Portfolio or in the paper A Quantitative Approach to Tactical Asset Allocation.

This is essentially a 200 day moving average (MA) crossover; for each of the funds above, if it's closing price is above it's 200 day moving average (using the closing price) at the time our report runs (once a month), it's a buy signal (or hold if you're already in a purchased position). If it's below the 200 day MA at the time the report runs (once a month), it's a sell signal (or cash position if you've already sold prior).

"While timing model [Systematic Tactical Asset Allocation] returns are approximately the same as buy-and-hold for each
asset class (although higher in all five), risk was reduced in every case across volatility and maximum", 
[Richardson, Eric W. - Faber, Mebane T., The Ivy Portfolio, pg. 141]

The Code

I edited the config.rb script to contain my desired SMTP settings.

The richie_rich.rb script should run on the first day of each month. I utilize cron to automate this :

# Run this at midnight for the first of the month.
# Make sure this is a system that has a constant uptime; wouldn't want to miss running this report.
0 0 1 * * cd /src/richie_rich && ruby /src/richie_rich/richie_rich.rb > /dev/null

My rebalancing needs to take place once a month (in non tax-exempt funds, adding to positions to bring the portfolio back into balance is desired since selling of positions can trigger short term capital gains).

License & Disclaimer

Copyright © 2011 Jim Jones

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE INVESTMENT MODELS ARE NOT MY OWN. PAST PERFORMANCE IS NOT INDICATIVE OF FUTURE PERFORMANCE. All contents of the Richie Rich code base are provided for information purposes only. You agree that the Information should not be interpreted as investment advice or as an offer to buy or sell any security or futures contract.

I AM NOT A REGISTERED BROKER-DEALER OR FINANCIAL ADVISOR. I DO NOT PROVIDE PERSONAL INVESTMENT ADVICE. Remarks and data comprising the Richie Rich code are for information purposes only and are provided without warranty of any kind. In no event will I be liable for any direct, indirect, consequential, or accidental damages arising out of any decision made or action taken by you in reliance on the information or any part of this code, whether or not caused in whole or part by my negligence.

Something went wrong with that request. Please try again.