Short Personal Investing History

When I first got into the market was back in the late ’80s. I did not have a lot of money, but I needed some extra income. Back then, you had to buy by the complete block (increments of 100) plus fees where expensive. I found a stock that went up three points and down three points in a very cyclical way every three weeks. I thought I was smart and started buying it long and short. What happened was that one time it went up 10 points when I had shorted. I had learned the dreaded “Margin Call.”

Well, I got out of the market till September 1999. I had learned Mechanical Investing. Problem with Mechanical Investing is that it takes DISCIPLINE. I know I do not have the stomach for the possible 50% drawdown that happens every so often with hot screens.

For a few years, I have done long term buy and hold. I have done well, but have not, in my mind beat the market. Part of the reason is that I work and cannot pay attention to my stocks.

Why this is on my mind, is stock market wealth is really a long term game. People at my level cannot beat the machines nor can make money with friction from taxes or transaction fees. I make money by buying either good stocks or a good basket of stocks. I no longer have the liberty to either gamble or play with mad money.

I am currently looking into Dogs of the Dow, and two screens from “What Works on Wall Street” by James O’Shaughnessy: Trending Value and a version of the Cornerstone Screen. Dogs of the Dow is a good conservative screen with dividends. Trending Value is a tested growth with value screen.

Problem is, there is a part that is back of my mind that states: Just buy $SPY and turn on dividend reinvestment. I will keep up with the market. Not have to worry.

I found an article on R-Bloggers called: Are R^2s Useful In Finance? I am going to use some code from the article. I would have made 5.5% per year. A lot better than what I did, plus head and toes better than what I got in the bank. Don’t ask me what I thought about quantitive easing and wealth transfer from savers.

pacman::p_load(xts,quantmod,PerformanceAnalytics,TTR)


getSymbols('SPY', from = '1999-01-01', src = 'yahoo')
## 'getSymbols' currently uses auto.assign=TRUE by default, but will
## use auto.assign=FALSE in 0.5-0. You will still be able to use
## 'loadSymbols' to automatically load data. getOption("getSymbols.env")
## and getOption("getSymbols.auto.assign") will still be checked for
## alternate defaults.
##
## This message is shown once per session and may be disabled by setting
## options("getSymbols.warning4.0"=FALSE). See ?getSymbols for details.
##
## WARNING: There have been significant changes to Yahoo Finance data.
## Please see the Warning section of '?getSymbols.yahoo' for details.
##
## This message is shown once per session and may be disabled by setting
## options("getSymbols.yahoo.warning"=FALSE).
## [1] "SPY"
adjustedPrices <- Ad(SPY)
monthlyAdj <- to.monthly(adjustedPrices, OHLC=TRUE)

spySMA <- SMA(Cl(monthlyAdj), 10)
spyROC <- ROC(Cl(monthlyAdj), 10)
spyRets <- Return.calculate(Cl(monthlyAdj))

smaRatio <- Cl(monthlyAdj)/spySMA - 1
smaSig <- smaRatio > 0
rocSig <- spyROC > 0

smaRets <- lag(smaSig) * spyRets
rocRets <- lag(rocSig) * spyRets


strats <- na.omit(cbind(smaRets, rocRets, spyRets))
colnames(strats) <- c("SMA10", "MOM10", "BuyHold")
charts.PerformanceSummary(strats, main = "strategies")

image0

rbind(table.AnnualizedReturns(strats), maxDrawdown(strats), CalmarRatio(strats))
## Warning in merge.zoo(fx, .xts(, .index(x))): Index vectors are of different
## classes: integer POSIXct

## Warning in merge.zoo(fx, .xts(, .index(x))): Index vectors are of different
## classes: integer POSIXct

## Warning in merge.zoo(fx, .xts(, .index(x))): Index vectors are of different
## classes: integer POSIXct

## Warning in merge.zoo(fx, .xts(, .index(x))): Index vectors are of different
## classes: integer POSIXct

## Warning in merge.zoo(fx, .xts(, .index(x))): Index vectors are of different
## classes: integer POSIXct

## Warning in merge.zoo(fx, .xts(, .index(x))): Index vectors are of different
## classes: integer POSIXct
##                               SMA10     MOM10   BuyHold
## Annualized Return         0.0719000 0.0776000 0.0559000
## Annualized Std Dev        0.0941000 0.0934000 0.1458000
## Annualized Sharpe (Rf=0%) 0.7646000 0.8312000 0.3835000
## Worst Drawdown            0.1663490 0.1656177 0.5078481
## Calmar Ratio              0.4324006 0.4686707 0.1101006

Comments

Comments powered by Disqus