Influencers tend to make long calls

By , August 9, 2011 7:03 pm

I stumbled upon an interesting note from the Economist: Influential people, or those at high social pecking order, tend to make long calls, whereas calls they receive are generally short, stemmed from knowledge of telecommunication companies.

I asked the question why, and attempt to contemplate an answer myself:

  • What managers (and influencers) do a lot as part of their job is communicate (Baxter 2010), and they prefer to do so verbally (Mintzberg 1990), explains why they tend to have prolonged conversations through the phone
  • Delegation by managers to subordinates involves goal settings (Blanchard & Johnson 1982), information dissemination (Mintzberg 1990), and relationship building (Fisher & Ury 1991). All of these require investment in communication time.
  • Influencers tend to have broad networks (Gladwell 2000) and managers need to communicate inter-departmentally (Kanter 1989), this kind of conversation need to be exchanged by elaborated discussions
  • Modern autonomous workforce usually call their boss to report status or present quick information or propose solution they have already had in mind, so they tend to quickly wrap up their conversations in short forms

All in all, this is an interesting point in social interactions.


Baxter, J., 2010, ‘Managing agile organisations’, School of Accounting, Australian School of Business, University of New South Wales, 2010

Blanchard, K., Johnson S., 1982, ‘One minute manager’, Morrow, 1982

Gladwell, M., 2000, ‘The Tipping Point: How Little Things Can Make a Big Difference’, Little Brown, 2000

Fisher, R., Ury, W., Patton, B., 1991, ‘Getting to Yes: Negotiating Agreement Without Giving In’, Penguin, 1991

Mintzberg, H., 1990, ‘The manager’s job: folklore and fact’, Harvard Business Review, March-April, pp. 1163-176, 1990

Kanter, R. M., 1989, ‘The new managerial work’, Harvard Business Review, November-December, pp. 85-171, 1989

Sell in May and go away

By , August 9, 2011 7:02 pm

While this is an over-simplification, the same approach can be used for different periods that match with analysis need e.g. holiday return

Data downloaded from Yahoo! Finance

This was computed using Ox code:


decl m,i,j,averageReturn,file;

m = new matrix[OBSERVATIONS][2];
m = loadmat(FILENAME);
averageReturn = new matrix[12][2];

for (i = 0 ; i < OBSERVATIONS ; i++)
for (j = 0 ; j < 12 ; j++)
if (m[i][0] == j+1) averageReturn[j][1] += m[i][1];

file = fopen("output.csv","w");
for (i = 0 ; i < 12 ; i++)
averageReturn[i][0] = i+1;
averageReturn[i][1] /= 252/12;
fprint(file, averageReturn[i][0], ",");
fprint(file, averageReturn[i][1], "\n");

Web Power as proxied through Google Instant Search

By , August 9, 2011 7:02 pm









h: (hotmail)














w: (not




0: James Bond (Wikipedia)

1: Fourteenth Amendment to the United States Constitution (Wikipedia)

2: 24 TV series (Wikipedia)

3: Nintendo 3DS (Wikipedia)


5: 50 Cent (Wikipedia)

6: 60 minutes



9: 90210

. (dot) : .NET framework

&: &nbsp;

_: Emoticon (Wikipedia)

☺ (Alt+numpad 1): Ampersand (Wikipedia)

☻ (Alt+numpad 2): ☻ / This is Bob Copy and Paste him and soon he can take over youtube!

♥ (Alt+numpad 3):

♦ (Alt+numpad 4): (?)

♣ (Alt+numpad 5):

♠ (Alt+numpad 6): (?)

• (Alt+numpad 7): Ulcerative colitis (Wikipedia)

◘ (Alt+numpad 8): Emoticon (Wikipedia)

○ (Alt+numpad 9): Emoticon (Wikipedia)

♂ (Alt+numpad 11): Female article on Wikipedia (the Male symbol leads to the article of Female?)

♀ (Alt+numpad 12):

☼ (Alt+numpad 15): Symbol (Wikipedia)

► (Alt+numpad 16):

◄ (Alt+numpad 17): ◄the►◄most►◄epic►◄break►◄up►◄ever ►

¶ (Alt+numpad 20): Meaning (Wikipedia)

§ (Alt+numpad 21): At sign (Wikipedia)

and so on…

Self-reminding notes – part 1

By , August 9, 2011 7:01 pm
  1. Ego is best shown through results
  2. Say I’ll be working for another 35 years. A hypothetically good track along 34 years has nothing to guarantee I’ll succeed in the 35th
  3. 35 years ~ 7 crises. BTW, I’m known for overoptimistism
  4. Fail early
  5. Once you verify you have mastered one skill, quickly move on to learning new skills. Over-relying on a narrow set of strengths is self-destruct
  6. Among a few things that stain permanently, bad academic record is one, ethical misconduct is another
  7. When you think you are young enough to know "the new economy", look for evidence of gerontocracy
  8. When you win, there is no guarantee that you will be heard. But when you lose, your good stories at best look like lame excuses
  9. Appropriate duration to feel good about yourself after a feat is 2 miliseconds. Things move fast these days.
  10. There are more polite people on earth than you think; I’m talking about compliments you have received
  11. The quasi-philosophical question "am I living or am I merely existing?" is pointless because existing in the market is already an extreme luck
  12. Only do devil’s advocate in small groups in controlled environments. 100% you are misunderstood then ill-interpreted otherwise.
  13. Illiquidity on long is curse, illiquidity on short is doom. Liquidity on long is bull trap, liquidity on short is bear trap. In short, you’re screwed regardless of circumstance.

Code for Stock Volatility

By , August 9, 2011 7:00 pm


Code for Stock Volatility

by Tai Tran on Wednesday, September 22, 2010 at 12:26am

// This pseudo-code function returns stock volatility given observed period
double getVolatility(double[] price)
// OBSERVATION = size of price[] plus zero position. Zero position is to calculate return on day 1
for (i = 0 ; i < OBSERVATION + 1 ; i++)
muy[i] = log(price[i+1]/price[i]);
meanmuy += muy[i];
meanmuy /= OBSERVATION;

for (i = 0 ; i < OBSERVATION ; i++)
summuy += (muy[i] - meanmuy)^2;

sigma = sqrt(1/(OBSERVATION-1) * summuy) / sqrt(TRADINGDAYSPERYEAR);

return sigma;

// Sample code to calculate rolling volatility using the function
for (i = 0 ; i < OBSERVATION - ROLL + 1 ; i++)
for (j = 0 ; j < ROLL ; j++)
priceSet[j] = price[j+i];
volatility[i] = getVolatility(priceSet);
} looks into Investor Sentiment

By , August 9, 2011 6:59 pm

Thanks @nguyentridat for sharing the news.

Investor Sentiment had been argued by academics and implemented for financial reports over the last 12 years. Some sources may include:

  1. Barberis, Shleifer & Vishny 1998
  2. Bandopadhyaya & Jones 2005
  3. Hulbert 2008
  4. Investor Intelligence Sentiment Index
  5. American Association of Individual Investors (AAII) sentiment indicator
  6. Nova-Ursa ratio
  7. Short Interest / Total Market Float here and here
  8. Put/Call ratio

What I usually do with Investor Sentiment for research purpose is to factor it in a forecast model, for example

Because Sentiment serves as a factor, the data need to be fast, lean and ‘plugged in’. TechCrunch reports that the company is in talk with research houses to provide data which is sensible.

As I browsed through the site, I found the domain of content interesting. Investor Sentiment information in models I’ve seen are somewhat mechanistic, or dry. Put it scientifically, proxies of the factor tend to be directly derived from financial and business activities of companies and market movements. I feel unease: Sentiment falls to a very different dimension: sentimental, organic, intangible, and irrational. The screenshot above highlights a charitable activity of GE which earns the company 0.75 mark. This activity initially appears less market-related, but wait, it is. Corporate social responsibility partly makes good branding, branding leads to sales, sales drive stock performance. I don’t know how powerful this subtle information is on investor behavior; I think it’s nice the site tries to cater for these domains of information.

The observation above leads to another complexity: how to weight the information. Investor category (Moms&pops and analysts behind trading desks), culture, market microstructure (e.g. participants)… are input to weighting of each information piece. I’m sure the team has considered this.

In sum, the service is nice in how they try to factor in sentiment information, and user interface is great. What I really look into is how I am able to incorporate their results into my analysis. I’d prefer having the data for use.


Bandopadhyaya A, Jones A L, 2005, ‘Measuring Investor Sentiment in Equity Markets’, working paper, UMB, 2005

Barberis, N, Shleifer A, Vishny R, 1998, ‘A Model of Investor Sentiment’, Journal of Financial Economics, 49, 1998

Hulbert M, 2008, ‘Trying to Plumb a Bottom’, Barrons, viewed 23/9/2010, from <>

Value-at-Risk using Wolfram historical volatility

By , August 9, 2011 6:58 pm

WolframAlpha offers a Value-at-Risk calculation method basing on past volatility.

This entry attempts to replicate this method.

My attempt adheres to Basel II requirements: daily VaR on 10-day horizon with 99% confidence

I construct a hypothetical portfolio including the following stocks: Cisco (CSCO), Microsoft (MSFT), IBM (IBM), American Express (AXP). The portfolio is equally weighted. Data are downloaded from Wharton Research Data Services.

This graph projects daily VaR for 2006 (before the turbulence caused by the GFC) and the ex post portfolio daily profit/loss. While passing backtesting, this method produces very high VaR estimates, leading to large reserve locked in.

I use Doornik Ox programming language for solving this problem. Volatility is from Hull method.

/* * Wolfram.ox * generate VaR, portfolio loss and efficiency using Wolfram volatility approach */

#include var.h

const decl fileName = "Wolfram.out";const decl portfolioFile = "realv.csv";

main(){	ranseed(967537412);

	decl price;	decl r;	decl rmean,rsum;	decl value=portfolioValue2;	decl var=0;	decl volatility;	decl probability;	decl portfolio;	decl exceptions=0;	decl i,j;

	price = new matrix[observations2][numberOfAssets2];	price = loadmat(sourceFileAll);	portfolio = new matrix[tradingDaysIn2006][1];	portfolio = loadmat(portfolioFile);	r = new matrix[observations2][numberOfAssets2];	rmean = new matrix[tradingDaysIn2006][1];	rsum = new matrix[tradingDaysIn2006][1];	volatility = new matrix[tradingDaysIn2006][1];	var = new matrix[tradingDaysIn2006][1];	probability = new matrix[tradingDaysIn2006][1];

	// Calculate mean return of observed period	for (i = 1 ; i < observations2 ; i++)	{		for (j = 0 ; j < numberOfAssets2 ; j++)		{			r[i][j] = log(price[i][j]/price[i-1][j]);		}		r[i][0] /= numberOfAssets2;	// calculate portfolio return to the column	}

	// Calculate volatility of observed period	for (i = 0 ; i < tradingDaysIn2006 ; i++)	{		for (j = 0 ; j < goBackDays ; j++)		{			rmean[i][0] += r[j+i][0];		}		rmean[i][0] /= goBackDays;	}

	for (i = 0 ; i < tradingDaysIn2006 ; i++)	{		for (j = 0 ; j < goBackDays ; j++)		{			rsum[i][0] += (r[j+i][0] - rmean[i][0])^2;		}	}

	for (i = 0 ; i < tradingDaysIn2006 ; i++)	{		volatility[i][0] = sqrt(1/(goBackDays-1) * rsum[i][0]);	}

	// Estimate VaR	for (i = 0 ; i < tradingDaysIn2006 ; i++)	{		while(probability[i][0] < p)		{			probability[i][0] = 1/2 * erf((rmean[i][0] + log(value) - log(value - var[i][0])) / (volatility[i][0] * sqrt(2 * 1)));			var[i][0] += 1;		}		var[i][0] = var[i][0] * (goBackDays - 1);	}

	// Backtest VaR	for (i = 0 ; i < tradingDaysIn2006 - 1 ; i++)	{		if (portfolio[i][0] > var[i][0])		{			exceptions++;		}	}

	while (exceptions > tradingDaysIn2006 * p)	{		exceptions = 0;		for (i = 0 ; i < tradingDaysIn2006 - 1 ; i++)		{			var[i][0]++;			if (portfolio[i][0] > var[i][0])			{				exceptions++;			}		}	}

	file = fopen(fileName,"w");	for (i = 0 ; i < tradingDaysIn2006 ; i++)	{		fprint(file, var[i][0],"\n");	}	fclose(file);}

The Excel equivalent method is by using ERFC() function combined with Solver.

Further research may be extended to:

  • Different portfolio construction
  • Efficient portfolio construction
  • Historical observation optimization
  • Different volatility estimates
  • Compare with other methods e.g. Variance-Covariance, Historical Simulation, Monte-Carlo


Philippe Jorion, Value at Risk, 3rd Ed.: The New Benchmark for Managing Financial Risk

Jonathan Reeves, FINS5542 Course Notes, School of Banking and Finance, Australian School of Business, University of New South Wales

John Hull, Options, Futures, and other Derivatives, 7th Ed

Confession on the trading floor

By , August 9, 2011 6:56 pm


Over one year studying Finance leaves me with these impressions:

  1. Finance saves my time trying to prove I am right; the focus is on proving my speculation wrong.
  2. Finance makes me comfortable replying "beats me" to a question I am clueless about, because "knowing" is the biggest self-injecting illusion and fallacy.
  3. Finance saves me from ‘philosophical’ questions such as "am I existing or am I living?" because mere existence in the market is already extraordinary luck.

Black-Scholes Options Pricing formula holds

By , August 9, 2011 6:56 pm

Actual Call and Put prices move inline with theoretical prices from Black-Scholes formula. This observation reflects that the formula is ubiquitously used in practice.

Data from Yahoo! Finance and Bloomberg

How to setup your Kindle to receive documents via 3G and Wi-Fi

By , August 9, 2011 6:55 pm

Read my Kindle 3 Review

You can view your documents on Kindle without plugging your Kindle in. All you have to do is send the document via email to your email and Amazon will automatically convert them to Kindle format. Click here to view formats Kindle 3 support.

You can also send one document to multiple Kindle recipient, as long as your email is approved by the Kindle owners.

You can setup these steps even before your Kindle arrives.

Panorama Theme by Themocracy