Friday, August 29, 2008

Advice for two

Since

spoken word is not received thought,

so, meant-ideas are error fraught.

Lonely people speak,

to end at the beginning:

eerily

…because one time,

in just three minutes, two people

had one mind…

Have you heard

the new morality:

save the words!

for sake of clarity

Sunday, May 11, 2008

By Varun

Since quite a few individuals have asked me questions on programming (and related sub-topics), I thought it would be a good idea to write a small primer on the subject, namely:
  1. Why Do I Need Programming? (skippable, if you know why)
  2. What Are My Goals?
  3. Which Language Do I Choose?
  4. How Do I Go About Learning?
  5. Final Thoughts

Why Do I Need Programming?

QuantFS prides itself on the quality of its members, and no doubt that every one of us knows our "theory", be it Econ, Finance, Math, or CompSci; however, if someone told you to implement it, where would you start? Well, maybe that's not fair...If you wanted to implement a regression model on CPI, M3, and Unemployment, that can easily be done in Excel, right? Well, what if you wanted a running regression on prices? Are you really going to sit there and re-run it all the time? No (aside from the point, that no one would pay you to click 'update').

So where does this lead? Programming is the glue to all the theory we learn as aspiring quants. Want to go into pure theory without programming? You'd better be that 4.1 Math/Physics kid from Harvard, otherwise learn some skills. Is programming a cop-out to pure theory? No, on the contrary, it only strengthens certain theories we learn about (CAPM, Optimization, all CompSci theory, etc...). Why should you program if it can be outsourced? The answer to this one lies in the next section.

What Are My Goals?

  • If you want to develop software and sell it
    You should be majoring in Computer Science or Mathematics. Why? For intensive software deployment, it is often necessary to understand how programming works with the computer and how to optimize slow code, not to mention an upper hand of theory and experience from your courses. However, if you have a theoretical idea and want to outsource the programming, then you are an entrepreneur. It really is important to establish your goals within this segment due to the varied paths it leads to down the road...
  • If you want to use programming as a tool in research
    This is what QuantFS is prepping our members for. Scripting is the key here. If you have a large file of stock data and want to run statistics on it in real-time (as we did in one workshop), or you have a bunch of variances/expected returns and want to find the optimal risky portfolio or the global minimum variance portfolio using CAPM (as we did in another workshop), then you need to learn how to script. So, what does this entail? The ideal candidate is learning a technical major with good non-technical background. Scripting revolves around clever ways to minimize running-time and increase accuracy. Courses include: Discrete Math, Algorithms, Probability, Statistics, Regression, Time Series Analysis. The key in scripting is, "you can't be too clever here." Clever workarounds are awesome.

Which Language Do I Choose?

  • If you want to develop software and sell it
    Since programming power is the necessity here, recommended languages for deployment include (but are not limited to) C++/C#/C/Java for standard applications. If you want to network among computers, use .NET framework. If you want to deploy webside stuff think Perl, PHP, Python, Ruby (and MySQL or some variant for databases). If you want some handle on setting up servers to run tasks, think UNIX. Like I said before, this path has a lot of options...
  • If you want to use programming as a tool in research
    I would almost require (4) language TYPES. "Types"? WTF? Yes, I like to think of scripting in four distinct groups: Text, Presentation, Power, and Data. Let's go over a few commonly used languages and see their strengths...
    VBA (Visual Basic for Applications) - Specifically for Microsoft Excel, VBA is great as a presentation language. Why? Most clients want summaries of your research or performance and they love to see stuff in Excel. If you've worked a day in your life in Finance, you'll know that Finance = Excel. Is this the best thing to learn first? No, because it teaches bad programming habits; however, it is ridiculously easy to learn and use and the deployment time for written code is fast.
    Perl - This powerful language is the best text category language. Want to turn a CSV into a TDV (tab delimited)? Want to take a bunch of prices and stocks and sort them by date/ticker? Want to combine 30, 40-meg files and get the common items from all of them into a separate text file? Perl is your choice, hands down. The exact nature of this language (Larry Wall, the creator, is a linguist) makes it very understandable, comprehensive, and light. It also is a light install, is available for any OS and has superfast deployment time. Also works well with CMD, batching, and linked processes
    MATLAB - A common program/language for researchers, this tool is great for initial analysis and minor scripting, but it is not optimal for setting up systematic processes. It is also great as a presentation tool for selective quants who use it (Goldman uses it in case you were wondering). It's much more a theory person's "scripting" language. Deployment time is a little longer; however, it has some great commands for matrix algebra due to its nature of storing everything in matrix form (example, a = 0 is stored as a 1x1 array with the value at [1,1] = 1).
    S-PLUS, SAS, SPSS, S, R - (yes they are all different...kinda) Power. These are a necessary tool in developing your scripting power. These are 'statistical' languges...which means that they are great at doing statistics...What? There's a category for this shit? Yes there is! Deployment time is less than MATLAB and they are also more powerful because they are lighter on the system. "R" is great because it is open-source. S-PLUS has a nice GUI and help file. Make sure you learn one of these...once you have learned one, the others are just syntax differences.
    Bloomberg, Factset, MarketQA - These are tools that allow users to access data from a database (like below). Learning how to get data is just as important as playing with it. One day you will find yourself sitting at a job and your boss could say, "hey, run a regression on the DOW 30 and the S&P 500's monthly total returns." To which you would reply, "sure...where do you have the data?" *BAM* You are fired. It is quintessential!
    Compustat, Worldscope, I/B/E/S, etc... - These are financial databases. No way to "learn" them; you have to work with them in a job and understand (and deal with errors in) the data and this will double your power as a scripter.
    C/C++/C#/Java - These languages are interesting...They are very powerful (they have control over many system capabilities), they can do data mining, they have a large community following (libraries with prewritten code), BUT they have long deploy time unless you re-use code...a lot...

How Do I Go About Learning?

Ahh, the dreaded question...The *BEST* way to learn programming depends (again) on which path you take. To be honest, if you are going into software development, your coding can take time to develop but the theory you learn should come first. However, if you (like me) are a scripter, experience is key. Therefore, I like to suggest that the only way to learn is by doing. It is not an easy thing to say because, face it...where are you going to find interesting things to program? This has always halted the learning process with programming. The typical dialogue is:

Kid: Hey, What language should I learn?
Me : Well, if you are going into Finance and you don't know VBA yet, learn that...it's expected at this point.
Kid: Cool, is there a good book you would recommend?
Me : Sure, get Microsoft Excel VBA Programming for the Absolute Beginner by Birnbaum. He teaches you by making you program games. It's a great way to learn.
Kid: Ok.

This is where the process usually stops because there really is a limited connection between learning how to move a red cell around the spreadsheet and automating a series of regressions. *It does teach you syntax and makes you familiar with the GUI*, so it is necessary. What are some better projects to try out after that book?
  1. Get the current S&P 500 Constituent list (Google that phrase and you should hit S&P's website, there is a link to download the constituents to an excel file...check out the syntax of that link)
  2. Get the closing price (from Yahoo!Finance) of each of those companies. Again, check one company and look at the syntax of the link. There's a fast way to do this also (aka, you don't have to hit their site 500 times...)
  3. Make a frequency table of the log of the prices (=FREQ()) and divide them into buckets of 10.
  4. Make a graph of the buckets and the count to see if prices in the S&P 500 are lognormally distributed...

If anyone actually does this...let me know and show me your code, i'd be happy to check it out since I already have this done in some excel file.

Final Thoughts

I hope I haven't deterred anyone thinking about "trying it out" this summer, but programming is a committment that will pay off in the long-run. Just getting your feet wet is a rewarding experience as it teaches you to think in loops and conditions. Once you understand how long it takes to get good at programming, or how long it takes to complete a tasks, you will have a greater understanding of feasibility within your project workspace.

Tuesday, April 22, 2008

F(un)AQs about the Fed

What can the Fed do to change the Federal Funds rate?

  • Open-market operations
  • Discount rate
  • Reserve requirements
  • Etc.


What are “open-market operations?”
When the trading desk at the Federal Reserve (“the Desk”) buys or sells government securities from Primary Dealers in the open market in order to alter the Federal Funds rate.

How do open-market operations affect the rate charged to banks to borrow funds from another bank?
The Fed does NOT directly transact in the Federal Funds market. Here is an example of the chain of events that occurs when the Fed reduces the amount of liquidity in the market and increases the Federal Funds rate:

1) Pretend the US economy is booming and the Fed decides to increase their target for the Federal Funds rate

2) The trading desk at the Federal Reserve contacts their Primary Dealers and asks them for their bids on an unspecified amount of treasury securities. Primary dealers participate in this auction for two reasons:

a. They are required to participate

b. They have accounts at clearing banks, which are depository institutions that hold reserves at the Fed. When the primary dealers buy Treasury securities from the Fed, the depository institutions’ supply of reserves decreases as primary dealers use the cash they have deposited to pay for the Treasuries. This decreases the amount of available reserves in the Federal Funds market, increases the demand for reserves, and increases the Federal Funds rate.

3) Once all the bids are submitted, the auction price is set by the Desk, securities are sold to primary dealers and liquidity evaporates causing the Federal Funds rate to increase

This process works in the reverse fashion when the Fed is seeking to increase liquidity. This time, the Fed is buying securities from Primary Dealers and giving them cash in exchange for government securities. This cash is deposited at their respective depository institutions, increasing the amount of reserves in the banking system.

Types of Open Market Operations
The Fed can structure their open market operations as repos or outright sales/purchases

Repos: These are the most common types of open market operations conducted by the Fed. They are preferred because they give the Desk much more flexibility in offsetting temporary swings in the level of reserves, which can be very volatile.

Here is an example of why flexibility is so important for the Fed when trying to control the Fed Funds rate:

Every 3rd day of the month the government pays out social security benefits. This causes reserves to shift from the government’s depository account to the bank accounts of private sector banks (note that the government’s reserves are not part of the Federal Funds market until they are given to Social Security beneficiaries and deposited in their accounts at depository institutions). This results in a huge increase in the supply of reserves, but the Federal Funds rate does not change! This is because traders at the Desk conduct defensive operations in the form of repos in order to control the supply of reserves.

Outright sales/purchases: Similar to repos, but result in a more permanent creation/elimination of liquidity, as the transactions are not reversed after a few days, like with repos.

Discount rate: Since the discount rate is above the Federal Funds rate, borrowing from the Discount Window is rare. A relatively high discount rate puts a ceiling on the Federal Funds rate and deters banks from borrowing from the Fed before they have exhausted less expensive alternatives. The stigma of borrowing from the Discount Window is largely a result of this implication.

Reserve requirements: By increasing the reserve requirement ratio, the amount of tradable reserves in the Federal Funds market decreases. Supply goes down so prices go up, i.e. the Federal Funds rate increases.

Saturday, March 29, 2008

Linear Approximations


The shortest distance
Lines have two parts [y = mx+b]: they start somewhere [b] and with unwavering speed [m] they get somewhere. Pretty simple.

Since I am simple, lines describe me pretty nicely too. I have 50 dollars and each redbull vodka costs 10 dollars. 5 redbull vodkas later, I am numb to my net worth.

Relationships can suffer over distance
To estimate how much money you would make investing at 8% a year with 100 dollars, see that you make 8 dollars in your first year. The amount of money that you have changed by only 8% so far, so figuring that you will make about 8 dollars the next year on the same investment is only 8% off. After two years, I have made about $16.

After a greater number of years, the compounding of error would become a problem. After all, what is the difference after 10 years. ($100+$80) - [100*1.08^10]. The error gets worse and worse and we lose love for the line.

Over that line
A threshold is a point where everything changes. I was a jello crazed child. One thing was very clear to me: if there is anything better than one cup of jello, it is two cups of jello (rational by any economic sense). One way or another, I got enough money to satisfy my dreams. I ate an orgy of jello. Unlike the linear promise of joy, I threw up -- violently. The formula for maximizing pleasure can be tricky.

Call me
Some things can be described well linearly. Take for example how much you gain or lose on a stock when it goes up by a dollar, but what happens when you add a threshold to the payoff? A call is similar to holding a stock contract except that it only entitles you to money if the stock is beyond a certain threshold like 100 bucks (when the contract ends). Of course, you could sell your call contract before the end of the contracts life. Instead of getting dollar for dollar returns, you have to value your call with an equation that is much more difficult (at the top of the post). All due to a little threshold. After all, if I can hook up with an 18 yr old, why can't I hook up with a 17 yr old? Thresholding can be difficult to understand.

............................
Igor 'I only post when you make me' Schmertzler

Tuesday, March 18, 2008

Quotations

Just about everyone loves a quotation.
  • A penny saved is a penny earned. (I just made a penny!)
  • Follow your heart. (Yay, I love not going anywhere)
  • Live for the moment. (I was alive every moment writing this blog)
  • And a trading favorite, balls to the wall. (There are too many walls!)
''Keep it simple, stupid"
Imagine following your heart and living for the moment. You see a delicious apple and since you are hungry, you eat it. You see a beautiful girl and you walk up to talk to her. You feel like reading a book or writing a blog. And you rack up points.

"I'm kind of a big deal around here"
You rack up points -- big time -- because everything your heart desires not only helps you in the present, it makes your life better in the future. An apple a day, anyway. And maybe the girl wanted to seize not only the day with you. Sometimes, there is no trade-off between the present and the future. Sometimes, seizing the day is what it's all about. Big opportunities are captured when a person is trying to capture opportunities. That rarely happens when practicing long division.

More likely than not, saving pennies is not something your heart truly desires. Is that how Bill Gates made his money? Certainly, it's not how Trump made his money. It's better to be dollar smart and penny foolish. After all, the more you spend, the more you save.

"Opportunity is missed by most people because it is dressed in overalls and looks like work"
Opportunities can only be seized when they come. Fortunately for you, opportunity can only be seized by those who prepare. So figure out when your opportunity is coming and prepare for that time. It would be hard to do many good trades when the market is closed. Saving that penny in preparation for a once in a lifetime investment; learning how to put on makeup without looking like a prostitute and meeting the love of your life; practicing that jump shot for hours for the important three seconds you'll remember for the rest of your life -- that opportunity will come.

"In a minute there is time / for decisions and revisions which a minute will reverse"
All men are not created equal. In fact, some mothers smoke or drink while pregnant. There are fathers who did not want to create anything at all. The nature is different, the nurture is different, and the randomness is -- random. Minutes in my life were not created equally either. My time was worth about $7 / hour when I was 16. I was just as good at reading Shakespeare then as I am now, but I get paid slightly more these days to focus less on shakespeare and more on trading. Is this the most I will ever make? Are my minutes now deserving of thinking only about the short term?

"To perceive evil, where it exists, is a form of optimism"
My time right now is every bit as important but not every bit as useful ($ / hr) as it will be in the future. When a person thinks like that, he makes his thoughts a self-fulfilling prophecy. If you are in college, invest in yourself and take a harder class. Calculate your grocery bill in your head and add tax. Commit yourself to not borrowing from tomorrow. Debt, anorexia, not putting away the dishes, drugs, and laziness is borrowing from tomorrow. I am an optimist; I think your opportunity will come tomorrow.

"Equality of opportunity is freedom, but equality of outcome is repression"
They say, the gap between the haves and the havenots is growing. I am not sure if that is true on percentage terms, but I am sure that the gap grows between people who live for the moment and people who prepare for their moments. If you have spent your life preparing, we'd love to have you at Optiver trading.

You've worked hard, why not let your investments pay off. Email me.

Saturday, December 8, 2007

More Posts!

Welcome Stephanie
In keeping with the intention of sliding away from Optiver specific material and instead sliding towards new ideas (and increasing post frequency) we officially have a new 'poster girl.' I am excited about her first post, which I think she might put up tonight.

As the name 'poster girl' implies, you will want to be like her and perhaps write for this blog as well. Feel free to contact me if you want posting abilities on this blog. Or you can just leave great comments like these.

Themes
As the blog gets more people posting, the need for separate themes becomes more apparent. Still, separation of finance, math, economics, 'quant,' is largely imaginary. Here are the themes as we have defined them.
  • I will try to maintain my preference for writing about 'MathFinance,' (which is both math and finance and neither math nor finance at the same time). Also, I will be in charge of making up words.
  • Stephanie has promised to write about 'FinanceEconomics.' She has also volunteered to be in charge of blog sarcasm :)
It may seem like in just those two themes we would not be restricted from covering almost everything! I can think of some things we might not cover. Here is a short list of the things that you could potentially write about:
  1. Advances in computer science (algorithmic, software packages, and hardware)
  2. Trading (technicals, new ideas, psychology)
  3. Investments (putting a lot of capital to work)
  4. Strategic theory
  5. Mathematics (what has been proven, what is contested, how do you develop your own framework)
  6. Quantitative Modelling (CAPM, APT, Black-Litterman, Back-testing, Signal Theory, ...)
  7. Computational Finance
  8. Econometrics
  9. Financial Business Decisions
  10. Financial Culture and Lifestyles
  11. etc
Accumulated Topics
Over the past couple of months, I have promised to talk about all sorts of topics that I never got the chance to write about. Here is a list that is meant to serve as an apology:
  1. What is dynamic replication? Can I arbitrage volatility?
  2. Adverse selection
  3. Volatility as the sensitivity of the market to information
  4. Taylor expansion for quick calculations
  5. Fourier series
  6. Principal components analysis
  7. Total least squares vs ordinary least squares (introduced in the last post)
Topics that others have asked for:
  1. What is a broker, prof trade, wholesales trader?
  2. How do I prepare for the Optiver interview?
  3. What is a swap?
  4. What is Beta?
I will do my best to get to all of these and perhaps others will volunteer to write great posts. In the meantime, thanks for reading.

Wednesday, November 14, 2007

Applied Finance

Investing and Trading - Similar but Different

In investing, one must find some security to hold for a relatively long duration. Trading, however, is a bit different. In trading, one must find something that is under- or over- priced for quick (often relative value) market corrections. In particular, traders try to find opportunities which are (1) hard for others to spot, (2) hard for others to exploit, or hard for others to exploit (3) as quickly as the traders can exploit the opportunities.

Speaking generally, in both investing and trading one uses tools to reason which investments / trades will act accordingly. In both cases, one also filters choices based on standardized descriptions. But in trading choices happen fast and relative value needs to be found more and more deeply every year. As implied above, mathematics is important because it:
  1. is a language for common understanding
    1. gives rise to standardized filtering which allows for very quick decision making
    2. allows for standard methods of information discovery (so you can use the same tools for different products)
  2. is a set of tools for reasoning (to see deeply)
  3. is expertise to avoid misunderstanding and to avoid false conclusions (to see clearly)
  4. is much more, but not relevant to the post
This blog starts with 3 and goes backwards.

Expertise to avoid misunderstanding
  • Some math is considered so basic that we take it for granted that we can apply strict methods to it. 1+1 = 2 right? If that is true, then how many chewing gums do you get by adding one to another? How many empty sets do you have if you add 5 empty sets together? Can you show me half a piece of chalk? This math is basic enough that you would never make this mistake with these examples. The point is that there is an assumption made even with something as basic as counting.
  • Some math is used so commonly that we forget the changes implicitly made when moving from fractions to decimals and back. Take for example averaging.
    • Alice ate 1/2 an apple. Varun ate 1/4 of an apple. What is the average number of apples eaten?
      • (.5 + .25) / 2 = 3/8 Simple.
    • A baseball player had a hitting average of .5 in year one and .95 in year two.
      • Simple method: (.5 + .95) / 2 = .725
      • Actually, it turns out he hit 15 balls in year one and 95 balls in year two. So 15/30 + 95/100= 110/130, well over 80%. We forgot that the decimals no longer had the weighting information.

-----Examples for the general populace------------------

Risk free investments are risk free- You are promised a risk-free, 10% return after a year (there is no chance of default). You reason that you should be about 5% richer after half a year (or a little less if there is a high frequency of compounding). Unexpectedly you need the money so you decide that you want to take your profits in the middle of the year by selling your risk-free investment to someone else. The only problem is that the market is now offering 20% "risk-free" and you are only able to sell at a major loss. The assumption that you wouldn't have to pay for opportunity cost is unreasonable (thanks to Stephanie for pointing out the correct way to say this). Your investment is not as risk-free as you thought.

---------Examples for Finance majors (chosen because these are so accepted)-------

Diversification leads to higher returns - Why should diversification lead to higher returns? Why doesn't diversification just water down the skill you put into choosing your investments, as Buffet proposes? The answer is to most is simple: either you have no skill or your skill isn't better than the value of diversification. Who knew that the nice guys telling you to diversify were actually implying that you suck. In mathematics, one says geometric returns lag arithmetic returns. The more the lag (which happens with high volatility), the more to be had from diversifying.

Least Squares Regression for Hedge Ratio- Many people, sadly including myself, use "math" blindly. Think of the last time you ran a regression to determine a hedge ratio. What happened? Which security did you choose to be the independent variable? Based on what algorithm did the computer fit the best line?

What would happen if you chose the other security to be the independent variable? Ans: Using financial data, you would get a different hedge ratio. That should raise a major red flag. This anomaly happens because your standard linear regression assumes that you have no error in determining the value of the independent variable. You should be using an "orthogonal least squares." Check the assumptions here. [More in a later post]

What's the point?!
The point is that not only do we use math blindly, but also we use blind math often. Somewhat rationally, you might argue to yourself that you should specialize in finance. That means, of course, you cannot waste time learning theoretical math because you can just use tools developed by others.

Due to our preference for "specializing," you, me, and the next finance major are the people using math incredibly blindly and not even knowing how blind we are. It is a mistake to feel that the immense precision of math means that one is accurate to some nice decimal places (accuracy vs precision). Not only is there a difference between accuracy and precision (ok, I tricked you into that last one), but often the precision is way overstated as well.

You won't find the term 'mathematical blindness' in Wikipedia and you may be asking, what exactly is mathematical blindness? Blind math is the usage of math without the understanding of the assumptions undertaken to make this math work. To some degree, this blind math is the applied math you've always done! It's not your fault! You followed examples to do what your teachers taught you to do.

Does it then follow that the person who knows the most math is the least blind?
Perhaps not. Quant funds, run by people with incredible mathematical understanding, have a reputation for getting killed in the marketplace. However, many quant funds also have a reputation for making a killing in the marketplace. Math makes them confident (and tells them to lever up). What is more dangerous than a person willing to stake his life on something? But then again, who is more bound for success than the confident?

Sometimes blindness will be mathematical and other times will be caused by assumptions in another field (eg. financial assumptions). The blindness is in misunderstanding anything! It is the magnitude of assumptions made from all sources.

Blind financial math
(sometimes called model risk) comes about from (but not limited to):
  • applying mathematical tools to the wrong types of problems
    • Running the wrong regression
    • Mistaking covariance for correlation or vice-versa
  • applying unrealistic (but sometimes necessary) financial assumptions to the data
    • The future will look like the past
    • There is a distribution to this random element
  • using the wrong data
    • Should you keep the outliers?
    • Should you take out certain days?
    • Are the more recent days more important?
    • Does the time of the year matter?
  • not keeping track of assumptions / not challenging assumptions often enough
    • You diversify like you are told [The assumption is that your skill in selection isn't better than the value of further diversification]
    • You take over a trading spot and inherit plenty of assumptions you didn't even know were made
A smart mathematician (name your highest math professor) is not a financial genius and a financial guru (take Buffet for example) is not a mathematical genius. First of all, note that Buffet is not a trader, but an investor. Also examine the assumptions because the future does not have to act like the past! These two, once separate fields, are converging into one understanding -- called financial mathematics. Trading uses financial mathematics. Assumptions in what was okay to consider two different fields can kill you in this one.