Samsung losing the law suit against Apple

By , August 27, 2012 6:53 pm
  • Share price drops.
  • The ban is only on legacy products. Galaxy S3 unaffected.
  • $1b fine is too cheap to secure #2 position and #1 in China & Asia-Pacific.
  • $1b fine is too cheap compared to $25b profit from copying since 2007.
  • Good publicity: Samsung is set in consumers’ mind as #2 smart phone maker.

Chart from Reuters

Why Facebook still needs Mark Zuckerberg as leader

By , August 26, 2012 9:28 am

A comment on criticism by Carly Fiorina and Gordon Bethune.

The biggest challenge to Facebook right now is going mobile.

Effectively, Facebook is still in product development phase. It needs a war-time leader, a geek not a slick businessman.

The mobile app, mobile ecosystem industry is still growing without an emergence of a dominant giant. How many business CEO are there who are experienced to run a mobile company?

Mark would do well to take the advice of people who have done it before…

Carly Fiorina

I like Microsoft’s new logo

By , August 24, 2012 10:59 am

Which one is your favorite?

McDonald’s visits Vietnam to explore opportunities

By , August 22, 2012 4:45 am

Over 4 years after I speculated that it was unlikely McDonald’s would come to Vietnam, the giant fast food chain visited Vietnam to explore opportunities.

McDonald’s will find itself competing with:

  1. Approximately 90 KFC stores
  2. Approximately 90 Lotteria stores
  3. Approximately 60 Pho 24 stores
  4. Approximately 22 Jollibee stores, which owns 50% Highlands Food which owns Pho 24
  5. Countless street food bread, sticky rice stalls and local noodle houses

This comes after Starbucks.

Photo credit: razzlyberry

HNX:ACB 21 August 2012

By , August 21, 2012 8:48 am

Why Intel Capital invests in Reebonz

By , August 20, 2012 1:30 am

  1. Luxury products: prospect for high margin
  2. Fashion products are not standard thus allow for better margin
  3. With the investment Reebonz can afford a price war until competitors die off
  4. Aims at building brand loyalty

The simplest example of why imitating Warren Buffett’s value investing strategy is a bad idea

By , August 19, 2012 8:48 pm

"The market can stay irrational longer than you can stay solvent."

John Maynard Keynes

What happened to AOL?

By , August 18, 2012 8:01 pm

Lotteria copies the Rice Burger, how long can VietMac stand?

By , August 18, 2012 5:14 am

Lotteria has approximately 80 stores, higher bargain power with landlords, better brand recognition, arguably more experience in process.

Despite receiving investment, VietMac doesn’t seem to scale quickly enough.

The whole barrier to entry of VietMac is its product which is relatively easy to imitate, and it is.

Code for Efficient Frontier, Global Minimum Variance Portfolio, Tangeng Portfolio

By , August 7, 2012 8:57 pm
/* 
 * This pseudo-code class entails the risk and expected return values for efficient frontier
 * In real code, accessors and mutators should be provided
 */
class EfficientFrontier()
{
	float[] return;	// series of expected returns on efficient portfolios
	float[] risk;	// series of standard deviation of returns of efficient portfolios
	float gmvpReturn;	// expected return of Global Minimum Variance Portfolio
	float gmvpRisk;	// standard deviation of returns of Global Minimum Variance Portfolio
	float tangentReturn;		// expected return of the efficient portfolio tangent to Capital Market Line
	float tangentRisk;	// standard deviation of returns of the efficient portfolio tangent to Capital Market Line
	float shortConstraintMaxReturn;	// maximum expected return that an efficient portfolio can reach
	float shortConstraintMaxRisk;	// standard deviation of returns of the efficient portfolio with maxmimum return
}

/* 
 * This pseudo-code function produces position of Markowitz Efficient Frontier
 */
EfficientFrontier getEfficientFrontier(float[][] price)
{
	const float c1 = 0.1;	// first substitute of risk-free rate for Black's shortcut
	const float c2 = 0.2;	// second substitute of risk-free rate for Black's shortcut
	float[] annualReturn = annualReturn(price);
	float[][] annualVarcovar = annualVarcovarMatrix(price);
	annualVarcovar = InverseMatrix(annualVarcovar);
	
	for (i = 0 ; i < NUMBER_OF_VARIABLES ; i++)
	{
		for (j = 0 ; j < NUMBER_OF_VARIABLES ; j++)
		{
			z1[i] += annualVarcovar[i][j] * (annualReturn[j] - c1);
		}
		sumz1 += z1[i];
		x1[i] = z1[i] / sumz1;
	}
	
	// repeat for z2 & x2;
	
	float expectedReturn1, expectedReturn2;

	for (i = 0 ; i < NUMBER_OF_VARIABLES ; i++)	// calculate expected return
	{
		expectedReturn1 += annualReturn[i] * x[i];
	}
	
	// repeat for expectedReturn2;
	
	variance1 = z1[] * annualVarcovar * z1[];	// this is a shorthand for tri-matrices multiplication. Actual code should extend the calculation of matrix multiplication
	
	// repeat for variance2;
	
	covariance = z1[] * annualVarcovar * z2[];

	return = discreteReturn(price);
	risk = stdDev(price);

	for (i = 0 ; i < NUMBER_OF_OBSERVATIONS ; i++)
	{
		if (maxReturn < return[i])	maxReturn = return[i];
		if (maxRisk < risk[i])	maxRisk = risk[i];
		// the maximum return and standard deviation here are not exactly value due to limitation of the method
	}

	do
	{
		w2 = 1 - w1;	// rebalance the two asset portfolio
		EfficientFrontier.return[i] = w1 * expectedReturn1;	// for demonstration only, a mutator should be used
		EfficientFrontier.risk[i] = (w1^2 * variance1 + w2^2 * variance2 + 2 * w1 * w2 * covariance)^(1/2);	// for demonstration only, a mutator should be used
		w1 += INCREMENT;
		i++;
	}
	while(EfficientFrontier.return[i] <= maxReturn);	// for demonstration only, an accessor should be used
}

/* 
 * Global Minimum Variance Portfolio
 */

	gmvpWeight1 = (variance2 - covariance) / (variance1 + variance2 + 2 * 

covariance);	// Bodie Kane Marcus Investments 8e page 204
	gmvpWeight2 = 1 - gmvpWeight1;
	EfficientFrontier.gmvpReturn = gmvpWeight1 * expectedReturn1 + 

gmvpWeight2 * expectedReturn2;
	EfficientFrontier.gmvpRisk = (gmvpWeight1^2 * variance1 + gmvpWeight2^2 * 

variance2 + 2 * gmvpWeight1 * gmvpWeight2 * covariance)^(1/2);

	tangentWeight1=(expectedExcessReturn1*variance2-

expectedExcessReturn1*covariance)/

(expectedExcessReturn1*variance2+expectedExcessReturn2*variance1-

(expectedExcessReturn1+expectedExcessReturn2)*covariance);
	// Bodie Kane Marcus Investments 8e page 207
	tangentWeight2 = 1 - tangentWeight1;
	EfficientFrontier.gmvpReturn = tangentWeight1 * expectedReturn1 + 

tangentWeight2 * expectedReturn2;
	EfficientFrontier.gmvpRisk = (tangentWeight1^2 * variance1 + 

tangentWeight2^2 * variance2 + 2 * tangentWeight1 * tangentWeight2 * covariance)^

(1/2);

	return EfficientFrontier;

Panorama Theme by Themocracy