accurev: validate version number

One way to do it is 

accurev diff -v theVersionNumber -V aKnownStreamName

coblood – each year you worked

master -> jobjob


Each year that you spent on some job,


you earn, most important of all, some cash to keep the family financially safe.

** you also earn something to plow back. Look at my UChicago experience…

you earn some experience, insight, and hopefully some zbs, but most of it will not be relevant in future jobs

you earn/build some track record that helps maintain marketability.

you either speed up or slow down brain aging

you incur stress

you incur sacrifice of family time and exercise time


option delta hedge – local anesthesia#RogerLee…

An intuitive explanation given by Roger, who pointed out that delta hedge insulates you from only small changes in stock (or another underlier).

Say, you use 50 shares to hedge an ATM option position with delta hedge ratio = 50%. Suppose your hedge is not dynamic so you don’t adjust the hedge, until price moves so much the option delta becomes close to 100%. Now a $1 move in your option is offset by $0.50 change in the stock position – insufficient hedge.

The other scenario Roger didn’t mention is, the option becomes deeply OTM, so delta becomes 1%. Now a $0.01 change in your option position is offset by $0.50 of the stock position – overhedged.

RVR^LVR %% Lesson #1

A working definition of lval/rval on says — An L-value expression is an expression that
1) refers to a memory location (heap/stack but not a literal value), and allows us to take the address of that memory location via the address-of (&) operator.

The other key features are all obscure:
2) (my suggestion) can pass into a reference parameter of a function

3) can be the RHS of a reference variable initializer
If overwhelming/mind-boggling, just focus on 1). In short. L-value expression evaluates to a LLLocation in memory

The book [I] introduces a simple test of Rval vs Lval, introduced by Stephan T. Lavavej — An Lval expression is anything that has a name. Minor qualifications:
* function returning a reference…

An R-value expression is any expression that is not an L-value expression. C++ standard decrees “A function call is an L-value only if the result type is a reference”
Note both lval and rval refer to “expressions” including variables, but do not refer to objects.
ALL expressions can evaluate to some value, so can appear on the RHS, but only some can appear on the LHS. But this has nothing to do with the lval/rval definitions!
Something, like a subscript expression, can appear on the RHS but it is strictly a lval expression, not a rval expression. If you (like me) find there are too many categories of lval expression, then just remember an lval expression is typically a variable.
! An expression is either a rval or lval, never both !
! An lval expression can bind only to a lval ref (, never a rval ref ) expression
! [P] a rval expression binds to either:
!! a rval reference variable, or
!! const lval reference variable
!! never to a non-const lval reference variable
* a regular variable can appear on RHS/LHS but is always always a lval, never an rval expression.
** a function call is usually an rval expression, but  sometimes an lval expression
* a literal is always an rval expression, since it is not a “place holder” and has no address.
* [P] arithmetic expressions are rval expressions
* [P] subscript expressions and unwrapped pointers are lval expressions. Most common lval expression is the variable name
[P] rval ref variable must bind to an rval expression, never a lval expression!
[P] rval ref indicates the object referenced will be “relocated” soon. Therefore it should bind to temp objects…
E=[[Eff Modern C++]]
I=[[c++for the impatient]]

c++string tasks: IV+GTD

(Let’s be imprecise here… Don’t sweat the small stuff.)

We should be able to perform all of these using c-string, std::string (limited adoption since c++98), the standard string in java , c#, perl, python, php. This is a master list. Tolerate multiple names on Each task.

See basic tasks on

use string iterator with STL algorithms

–the easy

convert to vector and apply vector tricks
convert to std::string and apply tricks
count how many times a substr occurs
sort content

positioning yourself for the next tide#Avi, SunLin…

Background: Avichal pointed out ..”knowledge”. To excel in any domain we need mileage, valuable insight, non-trivial experience, and accumulation — non-trivial and doesn’t happen naturally. I have observed it with SQL, Java, Python, threading, trading system design …
Every job change presents an opportunity to reposition yourself. Bear in mind very few jobs put you right at the forefront. Positioning means incremental accu of relevant (often peripheral) knowledge. That’s probably the realistic way to assemble the jigsaw pieces.
You are unlikely to be given an architect role, but look at AOC!

ED futures to replicate IRS

I feel FRA is the correct thing to replicate IRS…

The LTCM case P13 footnote very briefly described how to replicate IRS using ED futures.

Say we have a vanilla 10Y IRS based on 3M Libor. There are 40 payments, either incoming or outgoing. First payment is 3M after trade date (assuming Jan 1), when BBA announces the 3M Libor for Apr-Jun. Based on the differential against the pre-agreed fixed rate, one party will pay the other.

Here’s how an ED trader replicates this IRS position — On trade date she would simultaneously buy 40 (or sell 40) futures contracts each with a maturity matching those announcement dates.

In both cases, we are sensitive to all the 40 Libor rates to be announced. Each rate is a 3M spot deposit rate.