So I'm at lunch yesterday with the lower cased one, Brian (who will be crafting his ninja skills for those madmen at Microsoft), Chad, Scott, Gerry, Russ (unknown blogeteer; I've got to remain consistent with those blog terminology references) and Sean. Hey wait a second, Sean does exist. We've both had busy schedules, so we haven't had a chance to get together for lunch. Sean is a beer software architect for a certain big local brewery that is celebrating their 150th anniversary with a concert featuring Bon Jovi. He (Sean, not Jon Bon Jovi) does TDD and has a cool testing tool Zanebug. So I'm guessing his day is filled with stuff like "Great Test; Less Coding". Anyways, this lunch group looked suspiciously like a certain Wisconsin INETA committee, but I'll talk more about that in a future post. Quick joke while we're on the subject of beer (or bier):
At the annual CEO get-together for the beer companies of the world, the first night at dinner was interesting. When the waitress came for the drink order, the Miller CEO ordered a Miller Genuine Draft, the Anheuser-Busch CEO ordered a Budweiser, the Coors CEO ordered a Coors Light and so on. Finally, the waitress took the last drink order from the CEO of Guiness: A glass of red wine. Of course everyone at the table questioned him on his choice. He answered, "Well no one else at the table is ordering a beer, so I thought I'd just follow along."
So Sean and I started talking and I found out he has an interest in finance and options. Being a scalper of options (notice the use of the indefinite article "a"; I'm not the universal scalper, but only one of many), I listened. Since a number of friends that I know are interested in finance and making dough in the markets, I thought I'd give a few thoughts on the subject. What makes a successful trader? How do you make money in the markets trading your own account? What books do I read on the subject? Why trade? What attributes do successful traders have?
Disclaimer: What I'm about to discuss is not financial advice in any form. These are my views and are not a comprehensive list of the topics that make a particular person successful in any trading activities.
So this blog post is the only thing you will ever need to know about trading, period. Send me some money.
So let's start with a few ideas here. There are a few things that are necessary to cover in these discussions. Information and emotion are critical. A person's emotions ultimately determine their ability to participate in trading activities. If you are unable to control your emotions, don't trade. Information, the acquisition of information, the synthesis of information and the care of information are also important. If you can't consume a large amount of information on a regular basis don't trade.
OK, now that there is a smaller, more serious group, let's talk.
In the capital markets, there are a number of terms used to describe people and the roles that they play. The person under discussion here will be referred to as "Trader", i.e. one who engages in the activity of buying or selling assets in organized markets. While analyst, portfolio manager (PM) and other titles may be useful, let's keep this discussion to the simpler term, Trader, to refer to the candidate so that our goals are clear.
The Competent, Informed Trader
At the end of every day of work, a person must look at their accomplishments and measure the amount of money that they have made to sustain their life. For some, this is a simple matter such as working in a grocery store or factory. For others, it requires a professional setting such as a doctor or accountant. The Trader is also of this same class of working folk. At the end of the day, the work that was performed should yield a positive value in the bank account.
We're going to use a former colleague of mine, TC, to discuss the concepts of everything good in a Trader. TC is a portfolio manager, but he is first rate in all things capital markets.
TC is a machine. Markets are his job. I have never, let me make that clear: NEVER, seen a day where TC was emotional about his work. Period. He managed US$4B that I was aware of and you couldn't tell whether he had $2 or $2B on the line. He came in to work, made his trades and never talked about the results. The only discussion of results was the daily attribution reports where verbal comments about portfolios were openly discussed and in those situations, TC just pointed to facts about position size, exposure, tracking error and other attributes about his portfolio. I know that TC was one of the top PMs in his asset class for a five year period some time ago. You couldn't tell when he came in to work. His chest wasn't out. He didn't brag about kicking the butt of his counterparties on his deals. He just did his thing. Some time after that five year stretch, there were some big old meltdowns in markets that affected his portfolios. TC took some serious losses. One year draw down was -39% when his benchmark was -18%. Massive losses for the partners of the firm who had personal money in the funds TC managed. But guess what? TC came in to work and darned if you could tell that the portfolio just took a $120 million dollar hit that day. TC just did his thing. It was like sweeping floors. Just look at the floor, find where it is dirty and sweep it up. Trading is no different. Look around, find the deals, make your trades. The partners respected TC whether he made money or lost money, because TC was a professional and it showed in his work and attitude.
If you are going to trade, leave your emotions at the door. If you can't do this, don't trade. I can guarantee that the guy/gal on the other side of your trade has removed their emotion from their trading. They will kick your butt every chance they get. A Trader trades to make money. Period. The bank account balance should be bigger at the end of each day. Emotions should not dictate that balance. The bank balance should not dictate emotions.
TC was an information hound. He was constantly reading and thinking and considering everything. I remember to this day, my friend SE took me to lunch with TC's group for the first time. Eight of us were at the table. SE asked me a simple question "Do you think you are the smartest guy at this table?". He knew TC was, but I couldn't tell. I couldn't even tell that TC was a partner in this firm, that the guy ran dough in some really difficult asset classes and was one of the better PMs around. After meeting TC for the first time, I couldn't tell anything about him. SE and I became good friends, but TC was the guy I wanted to emulate (don't get me wrong, SE is a top notch PM). Anyways, TC was like any other PM; he needed analysts and other information feeders.
If you can't consume the information about your trading and positions, don't bother trading. There is a considerable amount of information that affects many trades. Missing the key piece of information on a trade is in many cases, the difference between profit and loss. Be consistent in your information collection and consumption.
TC tested out his stuff all of the time. There were days when he'd work through the math a few dozen times with the Head of Research in his group. They'd hypothesize about models, collect the data, run the model, evaluate the results. This might sound easy. It is not. Independent observations; in-sample vs. out-of-sample data; survivor bias; mischaracterized models; lack of degrees of freedom in what appears to be a valid model; the list goes on. The time series of price in capital markets of an asset is a non-stationary time-series of observations. This basically means that reproducible experiments over different periods of time are unlikely to yield similar results.
If you can't find or devise a consistent method, process and set of rules with which to conduct trading, don't bother trading.
When you run dough professionally, there is not some magic money drawer that you dip into to make your trades. You have a fixed book size which you trade. You may be capable of leverage on the book, but that is subject to the mandate of the money under management. The same is true for trading your own account. You have limited funds. Understand the size of the positions that you take. Are the positions 1%, 10% or 50% of your total book? Are the positions that you take 1%, 10% or 50% of the daily dollar volume of the asset that is traded or of the asset class that is traded? The decisions that are used to construct a trade and take a long (or short) position should be symmetric and equal to the decisions that are used to close the trade and close a position.
If you can't construct positions based on simple equal bets, or bets weighted on characteristics of your asset class, don't bother trading. Someone will recognize your trading and relieve you of the burden of your money.
One of the key advantages of the small investor is size. A small investor typically does not move an asset or an asset class on a particular trading day. Those that trade $20K or $200K construct positions differently than those that trade $20M or $200M.
If you cannot recognize the advantage of the small trader, don't bother trading. A considerable weapon in making moola and constructing profitable positions is capitalizing on that which others cannot reach for some reason or another.
Stay away from pop-culture investing. This includes the cable TV finance channels. While these are reasonable outlets for news, they are usually noisy. By noisy, I mean that they have a lot of excess information that is not correlated to the information necessary to make informed decisions. It might be fun to watch one of the correspondents driving the latest electric car, but that doesn't make any money for you today. Remove the noise. Don't read garbage. Find competent news feeds and sources. Use them to collect information and consume that information. This includes blogs and chat rooms and other sources of information. If you cannot determine the legitimacy of the information, why trade on the information? If there are competent blogs or chat rooms sharing info, what is the motivation of the source of the information? Why would someone share information that can result in profit for them?
If you cannot distingush between sources of competent information and pop-culture information, don't bother trading. Just turn the channel to the latest daytime talk show or cooking show and learn something useful instead of trading.
Reading Material
There is a lot of material at the local bookstore on trading your own account. I say avoid almost all of it. Any person that offers their "advice" on how to win, get rich, blah, blah, blah is selling something: their advice. Be a complete skeptic. The attitude should be:
Kiss my butt Mr. Author. Show me how you made your dough. Tell me your Risk/Return Ratio for the last 6, 12, 24 months. Why did you write this book again? To make money off of the book sales? To give me your most best, most comprehensive, excellent winning strategy (why share it with the world)? If I buy your book and you are my counterparty in a trade, who will be profitable; me or you?
I will not single out any author or group or series of books. Just STAY AWAY FROM THE POP-CULTURE FINANCE. It is garbage. If you want to read a cool story to get inspiration, read a few of these non-fiction storytelling books on finance:
- Michael Lewis - Liar's Poker
- Michael Lewis - The Money Culture
- Jack Schwager - The Market Wizards
- Jack Schwager - The New Market Wizards
- Roger Lowenstein - When Genius Failed : The Rise and Fall of Long-Term Capital Management
There are other fun books that tell stories of the characters on Wall Street and in capital markets.
I rarely recommend academic books in finance because there are a great many that are well written. Start with the basics and work your way out from there. Anything by Fabozzi is likely to be a good read. For beginners, I recommend:
Get wide, i.e. acquire a considerable breadth of information about capital markets from reading before considering a specialized area of study.
----
If you have broken any or all of the above rules and are wealthy, rub it in my face here. Your net worth is likely more than mine.
So it has been a really good week. I'm listening to Funkadelic (because as a blogger, I'm supposed to let you know of my musical tastes because it is important that you get to know every trivial fact of my life; I don't have a stomach ache after that onion-packed gyro for dinner thanks for asking) and working on some code. But I just got back in the house after dropping my daughter and her friends off at the local mall. The exchange went something like this:
O: It's 8:30. Doesn't the mall close at 9 or 9:30?
Liz: Ummmm. Yeah, that's why we're leaving now.
O: Is that enough time to do whatever you are going to do?
NOTE: At this point I should be clear that we are in the car and on the way to Brittany's house to pick up three other friends.
Liz: Dad. We are going to meet my friend ((insert boy's name here)). He works till 9:30 (imagine the teenage tone: "What are you stupid or something?" paired with the slight eyeroll movement)
O: OK.
More on this exchange in a moment. There is a point to this.
So I'm looking at DoubleI's blog lately and it has been pretty quiet. But The House O Insomnia had a fun post with a great coding example here. DoubleI is going to develop this class and example further at some later date. I was laughing so hard that I missed something that I normally don't miss: A simple initialization error. skicow (the blogless wonder whose use of lower case in his moniker is reminiscent of another quantum physicist we all know) mentioned the error in the comments. Usually, I'll notice this type of thing and either comment, chuckle or email. I missed this one altogether.
So we get to Brittany's street and turn the corner. It is a warm summer evening and I have the windows rolled down. Brittany and two other girls (15-16 years old) are walking with two other teenage guys. They are almost to Britt's house as we are pulling up. Liz yells out the window to Bridget, "Hey I like the way you changed your hair". Now once again I'm at a loss because unbeknownst to me, Bridget's hair is still dark brown with a patch of blond on the top layer. The hair is short and above the shoulder. Here's a description:
public class TeenageGirl
{
private TeenHairstyle _Hairstyle;
private int _numberOfHairColors;
private Attitude _CurrentAttitude;
public TeenageGirl(TeenHairstyle aStyle, int colors, Attitude anAttitude)
{
_Hairstyle = aStyle;
_numberOfHairColors = colors;
_CurrentAttitude = anAttitude;
}
. . .
}
// Consider refactoring as there is only one hairstyle.
public enum TeenHairstyle
{
thShortBrownHairLayeredOnTheSides = 0
}
// Consider refactoring as this is really a boolean.
public enum Attitude
{
aSmartAleck = 0,
aTeenFemaleProblems,
aWhatAreYouStupid,
aAreYouTalkingToMe,
aNice
}
public Class Transportation : IAutomobile
{
. . .
public void AddRiders()
{
_Riders.Add("Liz", new TeenageGirl(thShortBrownHairLayeredOnTheSides, 1, aWhatAreYouStupid);
_Riders.Add("Brittany", new TeenageGirl(thShortBrownHairLayeredOnTheSides, 1, aNice);
_Riders.Add("Bridget", new TeenageGirl(thShortBrownHairLayeredOnTheSides, 2, aNice);
_Riders.Add("Amelia", new TeenageGirl(thShortBrownHairLayeredOnTheSides, 1, aNice);
}
}
So what the TeenageGirl class is obviously missing is the SideOfHeadToPartTheHairProperty. If you put these girls in a police lineup, I'd have a difficult time determining which was my daughter. But Liz noticed that Bridget had parted her hair on the left instead of the right, thus shifting the blond patch of hair to the other side of her head (which I still couldn't determine).
Now I can spot a lot of things in a candlestick chart of the S&P500 Futures, a GA Landscape, a third or fourth order OEE and prime arithmetic progressions, but I am just plain boneheaded when it comes to teenage features like hair or clothes.
I hope this isn't a sign of senility.
It is a boring Friday. At work, I'm doing some testing harness work for the application for which there seems to be no end.
the lower cased one is working on some project and keeps talking about how he is doing something with DirectX. He is really, really, really slow with this project. No, really slow. I think he's been working on it since like 1998. Anyways, I can't spoil his thunder, because it is a very cool application. I'll just say this: It uses mechanics and physics. the lower cased one has been whining about how Direct3D doesn't have an IDE for meshes and problems with culling and cameras and blah, blah, blah. Then I find out that this way cool app is going to use fake physics. Ummmmmmmmm, not in my neck of the woods. So I told him to go back and read this book. It's on my summer reading list, so I have a copy. He even has a copy.
So I come to work over the last few days and all I hear is whining about how the physics is going to be tough and wahhh, wahhh. I give him a quick tutorial (10 minutes). Now I am horrible at physics, but love mechanics, so this was fun. He even understood what I had discussed (ok, my skills are third rate in this topic, but good enough to get him over the hump). I gave him the graph paper with the notes. He walked away smiling. I thought about it for a moment and decided that I had better go one step further. Because I'd come back to work on Monday and I'd hear how tough it is to write what I just put on paper (next he'll just ask me to write the whole app for him).
So I decided to throw him a bone. PBounce is my first application on the JJBR site. I'm not going to write an article because this application is so tiny, it is almost pathetic (the comments took longer to write than the actual code; there aren't a lot of comments). It took all of about 65 minutes to write. You can find the zip file for the application here . It is a .NET solution written in C#. It is one form that does all of the basic work.
If you want to see some basic velocity and acceleration code, look at it. If not, the world will likely come to an end (the end of the world would only come after the lower cased one releases his application, so you have about four or five years to gather your things and repent).
Before I forget, my real name is on the source code in the copyright notice. It's not like anyone cares, but it might be useful for this . This is not the first time that someone has associated my real name with my moniker.
----
I know my physics and mechanics skills are second rate. If you wish to yell at me about them, contact me here . Please use this contact info as well to yell at me about my lousy .NET coding skills or lousy opinions on anything. Just remember that I know where the delete button is located.