killer talent2compensate4a lot@shortcomings

The scope is professional life and financial security.

update — to keep the killer sharp, you need sustained focus and continuous improvement.

eg: my dad is a top researcher in his fields. His research papers are heavy weight and top quality. Someone like him may have many limited skills on many other aspects (tech) but that one killer talent compensates for everything. Crucially, his research output has a financial reward. Otherwise it’s hard to sustain the effort.

eg: sales dragons are simply good at hitting sales numbers. A sales dragon may not understand the products, or remain loyal to the firm, or take care of the clients… Still this is a killer talent to keep her successful, that (kind of) compensates for everything.

eg: I know many IT professionals who are sub-standard technically, but can survive or even thrive in a job for a long time because they keep the boss happy — Killer talent… However, compared to other killer talents this one isn’t as weather-proof as other killer talents. The next boss may not be so easy to please. The company may go under…

eg: at least in my first 10 years of my career, I always could get my jobs done. I was always technically up to the job. This talent did compensates for everything.

eg: On Wall St, my job hunting skill is a killer talent. This is one of the most effective kill talents known to me.

eg: Some people manage to amass a small fortune and invest successfully, to get a decent return (like $5k/m). I guess Anthony Lin, Lian Zhong, Chun Tih .. all had multiple properties.



My reasoning is, the assignment takes place first, then the increment.

#include <iostream>
using namespace std;

int main() {
  int* a=new int(22);
  *a = (*a)++;
  cout<<*a<<endl; //shows 23

[12]too many add-on packages piling up ] java^C++

(blogging) Biggest problem facing a new or intermediate java developer — too much new “stuff”, created by open source or commercial developers. Software re-usability? Software Component industry?…

Some job candidates are better able to articulate about these — advantage. On the real job, I don’t feel a developer needs to know so many java utilities (Architects?)

More than 3 C++ developers told me they prefer c++ over java for this reason. They told me that about the only add-on library they use is STL. Everything else is part of the core language. Some of them tell me in their trading/finance systems, other libraries are less used than STL — smart pointers + a few boost modules + some threading library such as pthreads. In contrast, I can sense they feel a modern day java system requires so many add-on items that it looks daunting and overwhelming.

The most influential books on c++ were written in the early 90’s (or earlier?)… Bottom line — If you know core language + STL you qualify for c++ jobs today. By the way, you don’t need deep expertise in template meta-programming or multiple inheritance as these are rarely used in practice.

In contrast, Java has many core (and some low-level add-on) components kept stable — such as memory model and core multi-threading, basic collections, RMI, serialization, bytecode instrumentation, reflection, JNI … This should in theory give reassurance to developers and job seekers. In reality, on the java (job) market stable core/infrastructure/fundamentals are overshadowed and drown out by the (noisy) new add-on libraries such as spring, hibernate, JSF, gwt, ejb, rich faces,

I feel the java infrastructure technologies are more important to a java app(also to a java project or to a java team), but I continually meet hiring side asking x years of hands-on experience with this or that flavor-of-the-month add-on gadgets. Is any of these packages in the core language layers? I don’t feel very sure.

(I feel some are — cglib, leak detectors… but these aren’t in job specs….)

I suspect many hiring managers don’t care about those extra keywords and just want to hire strong fundamentals, but they are forced to add those flavor-of-the-month keywords to attract talents. Both sides assume those hot new things are attractive to the other side, so they want to “flash” those new gadgets.

Whatever the motivation, result is a lot of new add-on gadgets we developers are basically forced to learn. “Keep running or perish.” — it’s tiring.



There are many ways to derive the BS-E(quation). See [[Crack]]. Roger Lee covered at least two routes.

There are many ways to derive the BS-F(ormula). See P116 [[Crack]]

There are many ways to interpret the BS-F. Roger Lee and [[Crack]] covered them extensively.

Q: BS-F is a solution to the BS-E, but is BS-F based on BS-E?
A: I would say yes, though some BS-F derivations don’t use any PDE (BS-E is PDE) at all.

BS-E is simpler than BS-F IMO. The math operations in the BS-F are non-trivial and not so intuitive.

BS-F only covers European calls and puts.

BS-E covers American and more complex options. See P74 [[Crack]]

BS-E has slightly fewer assumptions:
– Stock is assumed GBM
– no assumption about boundary condition. Can be American or exotic options.
– constant vol?


jump diffusion pricing models — brief discussion

I asked a relatively young quant I respect.

She said most sell side models do not have jump feature. The most advanced models tend to be stochastic vol. A simpler model is the local vol model.

I said the Poisson jump model is well-regarded – but she said it’s not that mature.

I said the Poisson jump model is needed since a stock price often exhibits jumps – but her answer gave me the impression that a model without this “indispensable” feature can be good enough in practice.

When you actually put the jump model into practice, it may not work better than a no-jump model. This is reality vs theory.



Update — In ##what actually determined%%past job satisfaction  I concluded that respect(zbs) was the #1 determinant of my job satisfaction. In these 3 Singapore jobs, my efficiency and zbs were insufficient compared to whatever their benchmark is. Even in java, theoretical, complex domains, without distractions … my colleagues could be superfast. Even if I get a lot done, I can still be seen as under-performing — low respect low bonus. Consider GS.

It’s kinda hard to measure 2 developers’ output. Given my background within my past teams, I now feel I did reasonably well on GTD, not super productive or super slow. Some periods in OC and Stirt were highly productive. My productivity was not excellent in Citi, Verizon, even 95Green, not higher than in Stirt. Conclusion — my GTD productivity self-assessment is swayed by my income and boss’s assessment.

  • In OC, I took care of Guardian, Quest, Excel interface, Bloomberg and other part of GMDS. I wrote the web-based log viewer in WCF…. I think my OC 1st-year GTD productivity was reasonable, probably higher than Citi, and not lower than barcap.
    • The donut bonus was at least 50% due to manager relationship.
    • In contrast, at 95Green and Barcap my GTD was not much higher, but the value of my output was higher than team peers. I spent my spare time on c++, swing, c#, quant…
  • In Stirt and Macquarie, manager felt I was good enough to be transferred to other teams — sign of respect
  • Stirt — I had lower value-add than the veterans, but probably higher value-add than most new joiners. Technically I was rated competent by everyone, otherwise they wouldn’t set up the transfer. My Stirt GTD effi was clearly higher than at citi and not lower than Barcap or 95G. Perhaps only lower than GS.
    • One /speed bump/ was the perfectionist team lead who approves everyone’s commit
    • Another speed bump was lack of online resources for hacking (i.e. self-study).
  • Macqarie role has very high requirements in terms of communication, leadership, but in terms of technical expertise I was clearly appreciated, otherwise they wouldn’t hint the internal transfer. Kevin criticized my effi but given his high standard on quality, my effi was higher than Citi and OC, and probably not lower than barcap.

interest rate hike hitting FX rate

I feel in most major economies the central bank manages interest rate which directly affects FX rate. FX rate doesn't affect interest rate, not directly. — higher interest rates attract foreign capital and cause the currency to appreciate. — Higher interest rates cause an appreciation. – When interest rates go up, so do yields for assets denominated in that currency; this leads to increased demand by investors and causes an increase in the value of the currency in question.

Rate hike leads to inflation, which hurts the currency in question?

Rate hike hurts corporations (including exporters) and balance of payment. Would hurt the currency in question? I doubt it.

Fed rate hike is carefully managed based on growth data. Therefore, rate hike is conditional on US recovery, which means stronger USD.

Economic growth could also mean reduced government bond issue i.e. reduced QE, i.e. slower national debt growth which helps the USD.


PDE solver – phrasebook

[[Numerical methods and optimization in finance]] has simple examples

of a PDE numerical solver. This book is more in-depth than [[basic


I think the Daniel Duffy book also covers Finite Difference method

Brute-force — often there's no other solution (like mathematician

tackling a proof) to a PDE. Numerical solution is kinda versatile.


MOM advantage over RMI

An Singapore ANZ telephone interviewer (Ivan?) 2011?) drilled me down — “just why is MOM more reliable than a blocking synchronous call without a middleware?” I feel this is a typical “insight” question, but by no means academic or theoretical. There are theories and (more importantly) there are empirical evidence. Here I will just talk about the theoretical explanations.
Capacity — MOM can hold a lot more pending requests than a synch service. A RMI or web server can have a limited queue. The TCP socket can hold requests in a queue, but all limited.  In contrast, MOM queue can be on disk or in the broker host’s memory. Hundreds or possibly millions time higher capacity.
Burst of request can bring down an RMI system even if it is loaded lightly 99% of the time.

But what if the synch service has enough capacity so no caller needs to wait? I feel this is wishful thinking. For the same hardware capacity, MOM can support 10x or 100x more concurrent requests. For now, let’s assume capacity isn’t the issue.

Long-running — if some of the requests take a long time (like a few sec) to complete then we don’t want too many “on-going” tasks at the same time. They compete for CPU/memory/bandwidth and can reduce stability and reliability. Even logging can benefit from async MOM design.
But again let’s assume the requests take no time to complete.
ACID — Reliable MOM always persists messages before replying with a positive ACK.

Excel Names collection – like Hashmap+symbolTable

If the Names collection has 55 pairs, then for each you can change the key and you can change the value.

Each pair also has a scope like a variable scope.

Therefore the Names collection is a hybrid between a hashmap and a symbol table (holding global variables).

If you use a name to hold a value (and save the file), it retains the value even after power-down.