Homework H15

Metrics!

Learning Goals

Implement basic portfolio management functionality.

Context

FinCalc

“You have done a MARVELOUS job!”  Stockton’s voice fills half the trading floor. A few heads turn.
You’ve just finished demoing the Spartan Trader’s data retrieval engine — live pulls from Alpha, Beta, and Gamma.
Stockton has a way of praising that makes you slightly uncomfortable. Maybe that’s just how he talks.
Ms. Tradewell, seated quietly in the corner, says nothing. Which means she’s evaluating.
Stockton pivots instantly. “Now... what's next?” he says.
“Well, Mr. Bonds, I think we should be computing financial metrics, beginning with MTM portfolio value.”
“Mark to market.” he repeats approvingly. “SAGACIOUS!”
He begins pacing. “And we disaggregate. I don’t want a blob of value. I want components.”
You follow his momentum: “Capital account. Long positions. Short positions.”
“YES! Shorts imply margin. Margin means constraints.”
You continue. “We should compute required margin levels on short positions. We need to ensure we keep at least thirty percent of liabilities in cash to avoid a margin call.”
Stockton points at you “TACTICALLY ASTUTE!"
“Performance” Ms. Tradewell says. “How do we know if Spartan Trader is actually adding value?”
You have been thinking about that.
“We define a target growth path,” you say. “For example, what the portfolio would be worth if it grew at the risk-free rate. That gives us a baseline. Then we compare actual portfolio value to that benchmark. A tracking error.”
Stockton turns back to you.
“MAGNIFICENT! Real-time portfolio value. Component breakdown. Margin surveillance. Benchmark growth function. And Tracking Error. Build it! ”
You glance at the expanding list in your notebook. This is no longer data retrieval. This is portfolio intelligence.
“I am on it, Boss”.
As you return to your desk, you pull out your phone and send a quick message: Running late for party...

Task

Build a system that satisfies the requirements.

Feel free to change the look and feel of your app, provided that the interface is easily understandable by the grader.  You are the developer and the user. You build it the way you like it. You will use it in the Hedge Tournament.

Want to submit as a team?  These are are instructions.

Criteria/Requirements

Your work must satisfy the following requirements

  • Everything from all previous homework must be implemented correctly
  • Assume that for the time being you are teamID 30, even if you already have a teamID assigned
  •  IPs and APs are visible on the dashboard at start
  • Compute and visualize: Current Date, CAccount,  Margin,  Max. Margin,  IP,  AP (hedge),  TPVatStart (Total Portfolio Value at Start), TaTPV (Target Total Portfolio Value), TE and TE percent.  They were reviewed in class
  • Make sure that all the values on the dashboard are professionally visualized.  75249221.7224 is hard to read: $ 75,249,221 is much easier.
  • Switching databases clears all visualized data, updates the metrics, and brings the user back to the dashboard.

Hints and Tips

  • This homework requires DB access (= you may not use the big Shumway lab and most of RRH 300).
  • As before and for the remainder of the Spartan Trader series, the videos are strong hints, but not the full solution.
  • The video is longer than the past ones, so give yourselves plenty of time. Do not just copy and paste. Figure out what that code does or you will be VERY lost later.
  • In class we discussed how to check each financial metric. Take the time to do it.
  • Some tables may be empty or contain different data than in the video. That is OK. Check against the databases.
  • Feel free to change the look and feel of your app, provided that the interface is easily understandable by the grader.  You are the developer and the user. You build it the way you like it. You will use it in the Hedge Tournament.

Patches

  • Some students have seen the first rows of the LOs in the dashboard losing their formatting and appear white.  Try
    Range("R3:T3").Interior.Color = Color.Black   and   Range("V3:X3").Interior.Color = Color.Black
    as a first line of ShowStockMarket and ShowOptionMarket.
  • In a couple of instances the video showed a message box with a message similar to "MessageBox.Show(MessageBox.Show(" - the repetition is a harmless typo and can be safely deleted.