SPY fell by 0.6% this week, while my account fell 0.3%. The loss-floor has dropped to -11.5%, so I have lowered the bottom of the chart.
US news: On Wednesday, the Federal Reserve behaved sensibly and did not announce a new money-printing program.
Euro news: All major ratings agencies have now downgraded Spanish government debt, so by law the ECB was supposed to require more collateral from Spanish banks – but they don’t have any more! So the law was changed to ignore the ratings agencies; banks can now deposit any random piece of paper with “I.O.U.” written on it and withdraw fresh euros from the ECB. This is inflationary. I predict a rising US stock market and — in a few months — food riots in some country someplace (was Algeria for QE2).
Friday’s allocations: |
|
RWM: Non-robot trade. I lost interest in it
after URTY got its “buy” signal. Didn’t sell on Wednesday because
QE3 wasn’t announced, but the new European money-printing program amounts to
the same thing.
It was nice having this at the beginning of the
week, as a hedge for TNA. Whatever happened on the market, I owned
*something* that was going up! Going into this weekend, I own equal amounts
of TZA and URTY which cancel each other out, so my account
balance will not change until I decide to sell one of them.
cash: I am down to 1% cash. If the robot were to buy another tranche of TZA on Monday, that would be using “unsettled funds” and I couldn’t sell those shares until Tuesday. This would *probably* work out but I have decided instead to disable the “buy more” function in the robot until the TNA sale settles on Tuesday.
Stock-trading robot
Ticker Symbol | Buy date | Buy price | Sell date | Sell price | Acct Profit | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Model | Actual | M | A | Model | Actual | M | A | M | A | ||||||
TNA | JN 15 15:00 | $48.64 | $48.65 | JN 21 12:00 | JN 21 12:21 | $49.36 | $48.82 | +0.2% | +0.0% | ||||||
SRTY ² | JN 21 14:00 | $51.71 | $51.75 | JN 22 10:00 | JN 22 10:47 | $51.35 | $51.49 | -0.1% | |||||||
TZA | (Not yet) | JN 21 14:04 | $20.73 | (Not yet) | |||||||||||
URTY | JN 22 11:00 | $53.93 | (Not yet) | ||||||||||||
TNA: Misread the chart and thought it was supposed to be sold at 11am (and I would have exited with +0.5% profit if I had listened to my Spidey Sense and just dumped it at 11am). I noticed that the robot’s price-quote for 10am was way off and assumed that this was another case like May 14th where a wrong real-time quote prevented a trade. Because I was screwing around with limit-orders, the correct sale at 12pm didn’t happen, either. Clearly, I have lost faith in the current system and it needs repair.
SRTY ²: At 10am on Friday, the robot was supposed to update the stop for TZA and then sell SRTY, but the sale didn’t happen. I’ve had this experience before — this time I figured out what the problem is: in shell-script, variables have global scope by default. The code for “adjust stop price” was using the same variable-name as the main loop, so after a stop-adjustment all remaining queued operations would be skipped. Fixed.
TZA: I guess I got override-happy. The model did not call
for a purchase because IWM’s price at 2pm was lower than the closing prices
for only the preceding 29 hours, while my model calls for 32 hours of
preceding lower prices for a “buy” signal. It doesn’t make much difference:
during 2008..2011 the overall TZA profit would have been only 2
%-points lower using 29 hours instead of 32 hours. The model might yet
issue a “buy” signal on Monday. In the meantime, I have added a special
rule to the robot: “If the simulated time is 2012-06-21 14:00 then
buy TZA”. This way the robot realizes that I am currently
holding TZA, so it updates the stop, looks for a “sell” signal,
etc.
My manually-chosen stop was slightly too high, so the robot lowered
it at the 10am adjustment on Friday.
URTY: Normal trade in progress. First activation of the URTY model!
TRIX-based trend trades
Finally got a “buy” signal! And it only took 436 hours of trying! According to the back-tests, if an URTY trade isn’t going to work out, it will usually close at a loss within a week, while sucessful trades often run for over a month.
Germany has ordered the ECB not to reduce its collateral requirements, but if the ECB doesn’t print then a Spanish banking collapse may be imminent, so the ECB might well disobey orders, which could possibly cause Germany to leave the Euro, which could lead to hyperinflation in the remaining Eurozone countries. Of course, the connection between European politics and the URTY model is tenuous at best.
MACD-based news trades
This model is currently disabled because I am holding URTY, which prevents any “buy” signals for SRTY.
PPO-based swing trades
I have changed all four rules of the form “This hour’s price > previous hour’s price” to instead use “99.9% of previous hour’s price”. This makes the glitch less likely, but still the model and robot can disagree because the model uses top-of-hour prices while the robot uses prices from several seconds later. A better fix would be to fetch top-of-hour prices, such as from Schwab’s “charts” module, but parsing these looks difficult — it seems they have deliberately obfuscated this data.
No comments:
Post a Comment