Tuesday, May 21, 2013

Tues. 5/21

10:15am CDT - Bank holiday in Europe explains the dead market yesterday but it was equally dead today...
RESULTS FOR DAY
6E Contracts:5
Net $P/L:101
Wins:4
Losses:1
Win%:80
Avg$Win:33
Avg$Loss:-30

Monday, May 20, 2013

Mon. 5/20

9:35am CDT - Taking a break from coding strats for a couple hours each morning to test drive a discretionary method I have been working on.  Not sure how long I will do this for but I guess results will dictate that decision soon enough.  And it may very well turn in to a mechanical system!
RESULTS FOR DAY
6E Contracts:6
Net $P/L:147
Wins:3
Losses:0
Win%:100
Avg$Win:49
Avg$Loss:0

Thursday, May 16, 2013

Another day...

I never considered that learning Ninjascript would lead to depression!  Perhaps my rose-colored glasses I used to wear clouded my realistic view on trading and I am now being forced to see the true reality that developing a good mechanical strategy is even that much harder than I thought (and I thought it was really hard before).  I'm still optimistic but now that I can find out in a day or two the results of a given trading system with years of cold hard data, some coding, and dozens of near instantaneous Ninja-generated P/L curves, leads me to realize how naive I have been up until now.

Once again, another system curve example below from TF 1-min. charts that fails to meet any sort of acceptable criteria for a trading system.  I think the Avg. Profit per trade was $10 - and that's with no slippage or commission.  Generate enough of these day in and day out for various systems I've coded so far, and one could certainly justify some depression.

A 100% mechanical trading system may be my ideal goal but some discretion on taking signals might not be such a bad thing.  When I look at the trades the above system took, I can see many reasons why some are just not good.  Sure I can edit the code to "filter" some of these out but then some good trade signals are missing that I would have taken.  It's impossible to try to program everything this human is thinking. It's a fine line.

In the meantime, the work continues and I'll just keep my sanity and optimistic view on life by keeping the live bald eagle cam playing on one of my monitors.  There's something relaxing about hearing the eagle chirps, watching the chicks lie around all day, and seeing the live fish being delivered by one of the parents to the nest.  The simple life! (here's direct link: http://humwild.org/humboldt-bay-eagle-camera)
Live stream by Ustream

Friday, May 10, 2013

Martingale Trading System

Since my crazy trading ride in 2007 which involved a martingale system, I have sworn never to try anything like that again!  As any trading professional will tell you, it is suicide for the retail trader.  It's like playing Russian Roulette but worse because you don't get put out of your misery at the end!

Ever since then, however, I've always told myself that if I learned how to program strategies and could automate the backtesting of them, I would want to see for myself the results for a martingale type system.  Well that day is finally here since I can program in Ninjascript and I'm sharing a simple strategy with anyone who wants to play with it, in NinjaTrader's Strategy Analyzer, and see for themselves why you should NEVER trade a system like this.

This chart explains and shows how the strategy trades, fading moves looking for a reversion toward the mean.  The default is a max position of 128 contracts.  Lots of the variables can be changed but it doesn't make any difference.  There are no settings that avoid huge drawdowns over time.  And sure, you can recode the strategy to go with a trend instead of fading it, but again, it won't matter in the end.

As I state in the strategy code, "This is a martingale strategy and is not recommended for anyone. There are ZERO ways to configure the variables to avoid an eventual huge drawdown. Recommend backtesting with ES only (due to liquidity) and using years of 1 min. data."

Here are a couple examples of results using 6 years of ES 1 min. data. In the first, system is looking for just 2 ticks of profit, on net position, on every trade:

Same settings but looking for 6 ticks of profit instead:

Feel free to download here, import the single Ninjascript assembly (not the 4 files) into your NinjaTrader, and explore for yourself. Let me know if you have any problems or questions.  And if you find any Holy Grail settings, let me know! :)

Fri. 5/10

11:50am CDT - It's been way too long so had to take a couple scalps after the crop reports came out.
RESULTS FOR DAY
ZS Contracts:2
Net $P/L:240
Wins:2
Losses:0
Win%:100
Avg$Win:120
Avg$Loss:0

Friday, May 3, 2013

TF System

Last month was the first month in memory that I made no trades.  I have been building and testing strategies in NinjaTrader and that work continues.  I just haven't found anything I'm satisfied with to actually start trading.  Hopefully that happens soon.  It's really really hard to find something that nets more than a few ticks of profit per trade per contract with minimal drawdowns!

As mentioned a month ago, I decided to focus more on TF since that is the best bang for my commission dollar.  That said, I thought I'd share some data for one strategy that I recently finished coding but am still hoping to improve and make better. If you have any thoughts about whether you'd trade this, let me know.

Initially just backtesting the past year, results looked pretty good.  But then when I tested 3 years of data, the drawdown became unbearable.

Curious what system optimized for min. drawdown would look like for past 5 years yielded:
There are only 2 variables in this system which determine settings for profit and stop on each trade and any open trades are exited at close each day. I haven't done anything yet with walkforward testing but that may be something to look at to improve results.

Or perhaps the next idea I test will be much better?  Who knows...

Tuesday, April 30, 2013

April Trading Summary

RESULTS FOR APRIL
Contracts:0
Net $P/L:0
Wins:0
Losses:0
Win%:0
$Commissions:0
Avg$Win:0
Avg$Loss:0

Wednesday, April 24, 2013

ZS1 System

2:20pm CDT - Well after much head banging, compiling, editing, and compiling again, I have finished coding my ZS1 system strategy in Ninjatrader.  This was certainly a learning opportunity and I'm sure I'll be quicker coding future strategies.  Plus ZS1 was never designed with "ease of coding" in mind.  In fact, there was one alternate entry in ZS1 I didn't even bother coding.  More on that later.  But here's the P/L curve:
And here's the exact same period below (same 1 lot trades, same commission/slippage) that I had recorded over past year into Excel after scrolling through the charts and seeing where I would have entered and exited following the same rigid rules I coded into the chart above.
Not quite identical eh?  In fact, they barely look related at all.  Perhaps my alternative entry played a bigger role than I thought?  I may have to look at that more.  And my Ninja code did not consider fast or slow markets - it took every trade.  I'm sure I filtered out some trades during news, etc. in my manually recorded backtest.  And I'm sure there are other reasons that don't come to mind.

A few numbers for you from the Ninja backtest: 135 wins, 114 losses (net after slippage & commissions) or 54.2% win rate. Avg$Win = $211, Avg$Loss = -$217.  Avg$Net per trade per contract is just $14.80 or just over 1 tick.  Not great!

Keep in mind this is all the data I can get for this strategy since it does not use time-based charts.  Normally I would like to test years of data which I can only do with 1-minute or higher timeframes.  And even minute based timeframes aren't easy to test in the grains because I do not have access to a reliable continuous contract.  I have to test each contract separately and piece together.  Below is what I sent both Ninja and DTN:IQ last month but they have no solution.  IQ sets the continuous contract rollover dates based on the contract specifications. 

Friday, April 19, 2013

Ninjascript

As mentioned, I attended a Ninjascript programming webinar last weekend.  It was about 9 hrs. total and had lots of good examples and I learned quite a bit.  Watching the instructor (or anyone really) write scripts and talk through his thinking really helps reduce the learning curve.  I'm now pretty confident that I can eventually program most ideas I come up with.  Shoot me an email (see my profile) if you'd like me to email you the few Indicators and Strategies we covered in the class.  If you're new to programming they will provide some good examples on how to do various things.  BMT has lots of good resources and videos too!

So this week I've been attempting to build my ZS1 system strat in Ninja. It has gone slow but I have most of it done.  There are some things that Ninja can't really do easily that I'm having to program.  You'd think the MAE for last trade would be readily available but NO!  You have to actually write code to get this value.  Some examples in the Ninja Forums help.  And reversing a position is next to impossible with the basic "Managed Order" approach.  I don't really want to tackle the "Advanced" approach yet, or ever if possible.  So I may have to have a Part 1 and Part 2 to my strategy and merge results together later in Excel to keep things simple.

Overall, I don't really see myself giving up Ninjascript/C# and my days of manually scrolling through charts and recording trades one by one into Excel are hopefully over!

Monday, April 15, 2013

Hedge Fund Titans

With paydays like some of these guys had, it's no wonder people want to manage OPM!

But the overall realities aren't great:
"For the fourth consecutive year, most hedge funds failed to beat the market. The average hedge fund gained 6.4 percent last year, according to a composite index that tracks 2,200 portfolios compiled by Hedge Fund Research. By comparison, the Standard & Poor’s 500-stock index climbed 16 percent when factoring in dividends. In 2011, the average hedge fund lost more than 5 percent, versus a 2 percent gain for the S&P 500."

Friday, April 5, 2013

Fri. Update

Sorry about the crickets over here in this corner of blogland!  I haven't made any trades this month so that's the reason.  And I totally missed a chance for an April Fool's post...  I am still working on the plan going forward and have decided a few things.

1) I am likely going to be taking a Ninja programming class to attempt to get myself further along the learning curve and actually be able to automate the backtesting of strategies in Ninja rather than the cumbersome scrolling through charts and recording results one-by-one in Excel that I mostly do now.  If anyone has taken this class or has any thoughts I would love to hear from you. 
http://www.ninjatrader.com/Webinar/Premium_IntroductionToNinjaScriptDevelopment_3-23.php

2) I am taking a break from trading ZS (including my ZS1 system) for at least the month of April. Will decide later if I should resume or not and this will hinge greatly on whether I find better uses of my trading time and capital.

3) And speaking of uses of my trading time, I'm am working on a new mini-Russell 2000 methodology that is mostly discretionary.  I am still ironing out the details but I will be scaling into positions (averaging up and down) with up to 5 lots (1 contract per $10K in account) and will consider the effort successful if I can end most weeks with a profit of ~$1000.  I expect 4 out of 5 days will cancel each other out and the average losing day will be about double the average winning day's take.

The primary reason for the TF contract is simply that, for me, it offers the best bang for my commission buck. Slippage should be minimal as ~80+% of entries and exits will be limit orders.  Anything we can do as traders to stack the deck slightly in our favor should be considered.  Having the past 2 years be gross positive but net negative after commission costs has added to my renewed focus on all factors to the bottom line.

Let the crickets resume, for now....

Friday, March 29, 2013

Quarter 1 2013 Trading Results


March Trading Summary

Net breakdown (contracts traded):
ZS -$6456(195), ES $7(2), NQ -$73(5)
RESULTS FOR MARCH
Contracts:202
Net $P/L:-6522
Wins:24
Losses:42
Win%:36
$Commissions:1025
Avg$Win:442
Avg$Loss:-408

Thursday, March 28, 2013

Thurs. 3/28

2:05pm CDT - "Like a moth to the flame" describes my day. I hadn't planned to trade and was busy backtesting when the grains all shot straight down after the USDA's Grain Stocks and Prospective Plantings news came out that farmers will plant the most corn since 1936. I wish I had remembered this report was on the calendar. It took a minute to fire up my platform and I immediately entered short TWICE before I figured out I still had my automatic stop set just 2 cents from entry.  I was stopped out nearly instantly. I had planned to hold for a bit knowing the potential was there for much lower with Corn at limit down in just 2 min., over 7% on the day.  My third entry (with stop safely out of the noise) was up nearly $1000 but a trailed stop too tight took me out ending with today's take after a couple later trades cancelled each other out.  My original 2-lot short went $3000 lower and I'd like to think I would have captured a nice chunk of that.  C'est la vie!
RESULTS FOR DAY
ZS Contracts:8
Net $P/L:184
Wins:2
Losses:3
Win%:40
Avg$Win:311
Avg$Loss:-146

Monday, March 25, 2013

Mon. 3/25

2:10pm CDT - All ZS1 trades again. This drawdown is getting tiresome.
RESULTS FOR DAY
ZS Contracts:12
Net $P/L:-1187
Wins:1
Losses:2
Win%:33
Avg$Win:210
Avg$Loss:-698

Friday, March 22, 2013

Fri. 3/22

1:50pm CDT - Again only traded ZS1 system today and 2 losers today.  At least I had no execution errors today!
RESULTS FOR DAY
ZS Contracts:9
Net $P/L:-1771
Wins:0
Losses:2
Win%:0
Avg$Win:0
Avg$Loss:-886

Thursday, March 21, 2013

Thurs. 3/21

2:30pm CDT - For a green day, this was as messed up as it gets. Only traded ZS1 signals today but the first one was technically a no go as my indicator changed to invalidate the short entry just as my order hit.  I really should just get in habit of setting all my indicators with a displacement of +1 to avoid this problem.  Then I missed out on a huge winner as described in chart.  Stop limit orders generally work great in ZS to avoid slippage but this one hurt.
RESULTS FOR DAY
ZS Contracts:18
Net $P/L:545
Wins:1
Losses:3
Win%:25
Avg$Win:1619
Avg$Loss:-358

Wednesday, March 20, 2013

Wed. 3/20

3:00pm CDT - Testing out a discretionary method in NQ today.  Had two ZS1 signals but missed the first one which was the only winner.  Funny how that always works that way!
3:15pm EDIT - In more "funny how that works" news, NQ fell briskly after 3pm and settled at 2787.
Net breakdown (contracts traded):
ZS -$690(3), NQ -$73(5)
RESULTS FOR DAY
Contracts:8
Net $P/L:-764
Wins:1
Losses:4
Win%:20
Avg$Win:155
Avg$Loss:-230

Tuesday, March 19, 2013

Tues. 3/19

2:05pm CDT - 2 ZS1 trades is all I took today.
RESULTS FOR DAY
ZS Contracts:9
Net $P/L:704
Wins:1
Losses:1
Win%:50
Avg$Win:1319
Avg$Loss:-615

Monday, March 18, 2013

Mon. 3/18

2:30pm CDT - No system trades today but did some testing of a discretionary approach with 1 lots. It didn't go so well.  I did have any early short order at 14.11 but didn't get filled.
RESULTS FOR DAY
ZS Contracts:5
Net $P/L:-476
Wins:0
Losses:5
Win%:0
Avg$Win:0
Avg$Loss:-95

Friday, March 15, 2013

Fri. 3/15

1:40pm CDT - No ZS1 signals today and both systems have been drawing down this month.  In fact, I am now back to even on the year which is not where I wanted to be 2.5 months in!  ZS3 testing hasn't yielded much of promise yet so not sure where that will lead me.  I am likely going to curtail most trading next week to focus on and develop the plan going forward.
RESULTS FOR DAY
ZS Contracts:12
Net $P/L:-962
Wins:1
Losses:3
Win%:25
Avg$Win:135
Avg$Loss:-366

Thursday, March 14, 2013

Thurs. 3/14

2:15pm CDT - Happy Pi Day! I need some pie after today but at least I finished strong with final 3 trades as winners.  ZS1 system was the big loser today.
RESULTS FOR DAY
ZS Contracts:21
Net $P/L:-858
Wins:3
Losses:3
Win%:50
Avg$Win:247
Avg$Loss:-533

Wednesday, March 13, 2013

Wed. 3/13

2:05pm CDT - Slippage and partial fills made for an interesting day but at least it was green for a change.  Congrats to the new pope!  I hope he's more open-minded than the past one.
RESULTS FOR DAY
ZS Contracts:17
Net $P/L:850
Wins:3
Losses:2
Win%:60
Avg$Win:519
Avg$Loss:-353

Tuesday, March 12, 2013

Tues. 3/12

2:10pm CDT - Beans were pretty muted today and I had to check if I had an Internet connection a few times this afternoon as the DOM was dead. Once again, a good trade (ZS2), followed by a loser on ZS1 that suckered me into buying a false breakout.  I actually missed a good 2 cent winner at lunchtime due to being in the kitchen.  I'm ready for the luck of the Irish to find me! Everybody's Irish this week right?
RESULTS FOR DAY
ZS Contracts:6
Net $P/L:-106
Wins:1
Losses:1
Win%:50
Avg$Win:435
Avg$Loss:-541

Monday, March 11, 2013

Mon. 3/11

2:40pm CDT - Like Friday, nice winner to start off then downhill from there.
RESULTS FOR DAY
ZS Contracts:18
Net $P/L:-993
Wins:1
Losses:4
Win%:20
Avg$Win:585
Avg$Loss:-394

Friday, March 8, 2013

Fri. 3/08

2:25pm CST - Very disappointed with myself today. ZS1 system does not pay attention to news reports and I choose to not enter a short position just after the crop report was released even though I had a signal. Second guessing and scared money cost me over a grand.  Looking back at the days I was out, ZS1 would have produced a grand on Monday as well.  For the week, net loss -$1687.  Always room for improvement...  ZS3 system testing is on the docket for the week ahead.  It may be replacing ZS2 as I am finding it difficult to trade ZS1 and ZS2 concurrently much of the time due to conflicting signals.  ZS1 and ZS3 would not conflict as often.
Net breakdown (contracts traded):
ZS -$633(21), ES $7(2)
RESULTS FOR DAY
Contracts:22
Net $P/L:-626
Wins:4
Losses:3
Win%:57
Avg$Win:281
Avg$Loss:-583

Thursday, March 7, 2013

Thurs. 3/07

2:15pm CST -
RESULTS FOR DAY
ZS Contracts:6
Net $P/L:794
Wins:2
Losses:0
Win%:100
Avg$Win:397
Avg$Loss:0

Good and bad news from CME Group on the grain futures.  There will be a 45-min. halt just prior to floor trading open and the close will be 45-min. earlier.  This reverts the hours back to nearly what they used to be a year ago when they switched to compete with ICE.  Good news is that I'll have a shorter day! Bad news is there's a big unknown as to what affect this will have on my ZS systems. I'm guessing the impact will be minimal but it is an unknown nevertheless.

Wednesday, March 6, 2013

Wed. 3/06

2:20pm CST - The market had some nice moves but other than the first trade and almost the last trade (both ZS1), my systems did a poor job.  Had lots of slippage today too!
RESULTS FOR DAY
ZS Contracts:18
Net $P/L:-1605
Wins:2
Losses:3
Win%:40
Avg$Win:360
Avg$Loss:-775

Tuesday, March 5, 2013

Tues. 3/05

2:25pm CST - I'm back after a short break.  The market welcomes me with a red day.
RESULTS FOR DAY
ZS Contracts:12
Net $P/L:-249
Wins:1
Losses:3
Win%:25
Avg$Win:585
Avg$Loss:-278

Thursday, February 28, 2013

February Trading Summary

RESULTS FOR FEBRUARY
ZS Contracts:90
Net $P/L:3061
Wins:16
Losses:20
Win%:44
$Commissions:464
Avg$Win:530
Avg$Loss:-271