<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ding Zhou</title>
	<atom:link href="http://dzhou.net/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://dzhou.net/blog</link>
	<description>an engineer wearing a scientist hat</description>
	<lastBuildDate>Mon, 31 Jan 2011 01:16:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>use interactive brokers API to get historical forex data</title>
		<link>http://dzhou.net/blog/?p=91</link>
		<comments>http://dzhou.net/blog/?p=91#comments</comments>
		<pubDate>Mon, 31 Jan 2011 01:16:56 +0000</pubDate>
		<dc:creator>Ding</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dzhou.net/blog/?p=91</guid>
		<description><![CDATA[I&#8217;ve been trying to use ibPy + TWS + django to get forex trading data from Interactive Brokers&#8217; API. I was blocked by various configuration errors due to lack of a good documentation on the internet. Just wanted to share this with interested algorithmic traders to save you some time. 
Let&#8217;s suppose you wanted to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been trying to use ibPy + TWS + django to get forex trading data from Interactive Brokers&#8217; API. I was blocked by various configuration errors due to lack of a good documentation on the internet. Just wanted to share this with interested algorithmic traders to save you some time. </p>
<p>Let&#8217;s suppose you wanted to get hourly trading candles for the past 10 day. You first need to make a contract that specifies the currency pair. Suppose you use &#8216;USD&#8217; as your base currency then your python code using ibPY would look more or less like below (the configuration should be consistent in other languages). </p>
<pre name= "code" class="python">
def make_contract_forex(currency_symbol):
  '''
  contract for a currency pair
  '''
  contract = Contract()
  contract.m_symbol = currency_symbol
  # STK or S - stocks,
  # FUT or F- futures
  # FOP or P - options on futures
  # OPT or O - options
  # IND or I - indexes
  # CASH or C -cash (ideal FX)
  contract.m_secType = 'CASH'
  contract.m_exchange = 'IDEALPRO'
  contract.m_primaryExch = 'IDEALPRO'
  contract.m_currency = 'USD'
  contract.m_localSymbol = '%s.USD' % currency_symbol
  return contract
</pre>
<p>Then this is how you can request candles from your local TWS client:</p>
<pre name= "code" class="python">
contract = make_contract_forex('GBP')
self.connection.reqHistoricalData(
  reqId,
  contract,
  nowStr,
  durStr,
  barSize,
  'MIDPOINT',
  useRTH,
  form)
</pre>
<p>, where the toShow needs to be &#8216;MIDPOINT&#8217; instead of anything else. The reqId, nowStr, durStr, barSize, useRTH, form can be configured according to IB&#8217;s<a href="http://www.interactivebrokers.com/php/apiUsersGuide/apiguide/java/reqhistoricaldata.htm"> API guide</a>.</p>
<p>Hope this helps&#8230;</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdzhou.net%2Fblog%2F%3Fp%3D91&amp;t=use%20interactive%20brokers%20API%20to%20get%20historical%20forex%20data" id="facebook_share_link">Share on Facebook</a>
<script type="text/javascript">
var button = document.getElementById('facebook_share_link') || document.getElementById('facebook_share_icon') || document.getElementById('facebook_share_both') || document.getElementById('facebook_share_button');
if (button) {
	button.onclick = function(e) {
		var url = this.href.replace(/share\.php/, 'sharer.php');
		window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
		return false;
	}

	if (button.id === 'facebook_share_button') {
		button.onmouseover = function(){
			this.style.color='#fff';
			this.style.borderColor = '#295582';
			this.style.backgroundColor = '#3b5998';
		}
		button.onmouseout = function(){
			this.style.color = '#3b5998';
			this.style.borderColor = '#d8dfea';
			this.style.backgroundColor = '#fff';
		}
	}
}
</script>
]]></content:encoded>
			<wfw:commentRss>http://dzhou.net/blog/?feed=rss2&amp;p=91</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>topic detection &amp; tracking</title>
		<link>http://dzhou.net/blog/?p=89</link>
		<comments>http://dzhou.net/blog/?p=89#comments</comments>
		<pubDate>Wed, 14 Apr 2010 21:31:38 +0000</pubDate>
		<dc:creator>Ding</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dzhou.net/blog/?p=89</guid>
		<description><![CDATA[over a decade went by, i have seen tons of papers on numerous data sets, but i can no longer find papers as solid as this one:
Topic Detection and Tracking Pilot Study Final Report
surprisingly, from the limited number of citations, few people have seen the value in this report  
Share on Facebook

var button = [...]]]></description>
			<content:encoded><![CDATA[<p>over a decade went by, i have seen tons of papers on numerous data sets, but i can no longer find papers as solid as this one:</p>
<p><a href="http://ciir.cs.umass.edu/pubfiles/ir-137.pdf">Topic Detection and Tracking Pilot Study Final Report</a></p>
<p>surprisingly, from the limited number of citations, few people have seen the value in this report <img src='http://dzhou.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdzhou.net%2Fblog%2F%3Fp%3D89&amp;t=topic%20detection%20%26%20tracking" id="facebook_share_link">Share on Facebook</a>
<script type="text/javascript">
var button = document.getElementById('facebook_share_link') || document.getElementById('facebook_share_icon') || document.getElementById('facebook_share_both') || document.getElementById('facebook_share_button');
if (button) {
	button.onclick = function(e) {
		var url = this.href.replace(/share\.php/, 'sharer.php');
		window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
		return false;
	}

	if (button.id === 'facebook_share_button') {
		button.onmouseover = function(){
			this.style.color='#fff';
			this.style.borderColor = '#295582';
			this.style.backgroundColor = '#3b5998';
		}
		button.onmouseout = function(){
			this.style.color = '#3b5998';
			this.style.borderColor = '#d8dfea';
			this.style.backgroundColor = '#fff';
		}
	}
}
</script>
]]></content:encoded>
			<wfw:commentRss>http://dzhou.net/blog/?feed=rss2&amp;p=89</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>set up remote desktop in ubuntu</title>
		<link>http://dzhou.net/blog/?p=79</link>
		<comments>http://dzhou.net/blog/?p=79#comments</comments>
		<pubDate>Sat, 26 Dec 2009 21:07:15 +0000</pubDate>
		<dc:creator>Ding</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dzhou.net/blog/?p=79</guid>
		<description><![CDATA[1. first install the package via apt-get

sudo apt-get install vnc4server

2. add two lines in ~/.vnc/xstartup

 unset SESSION_MANAGER
 sh /etc/X11/xinit/xinitrc

3. set up the password required to go to the desktop

vncpasswd

4. launch the remote desktop server:

vncserver :1

This will start a new desktop in the background ready for a remote user to connect to. Note the :1 above [...]]]></description>
			<content:encoded><![CDATA[<p>1. first install the package via apt-get</p>
<pre name= "code" class="python">
sudo apt-get install vnc4server
</pre>
<p>2. add two lines in ~/.vnc/xstartup</p>
<pre name= "code" class="python">
 unset SESSION_MANAGER
 sh /etc/X11/xinit/xinitrc
</pre>
<p>3. set up the password required to go to the desktop</p>
<pre name= "code" class="python">
vncpasswd
</pre>
<p>4. launch the remote desktop server:</p>
<pre name= "code" class="python">
vncserver :1
</pre>
<p>This will start a new desktop in the background ready for a remote user to connect to. Note the <strong>:1</strong> above tells the server to bind port 5901 for vncserver. </p>
<p>5. You can also make sure you start a vncserver upon restarting. In /etc/rc.local add a line (can assign a port for each user you want remote desktop access):</p>
<pre name="code" class="python>
 su dzhou -c "cd ~dzhou; vncserver :8"
</pre>
<p>6. now if you want to connect from a windows machine, download the free VNC client here: <a href="http://www.realvnc.com/"></a></p>
<p>7. Sometimes, you want to set up ssh for security. What you do is to set up a port forwarding so you&#8217;d only have to maintain a ssh tunnel to the server. Try this when you ssh:</p>
<pre name= "code" class="python">
 ssh -fNC -L9999:localhost:5909 myvncserver.com
</pre>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdzhou.net%2Fblog%2F%3Fp%3D79&amp;t=set%20up%20remote%20desktop%20in%20ubuntu" id="facebook_share_link">Share on Facebook</a>
<script type="text/javascript">
var button = document.getElementById('facebook_share_link') || document.getElementById('facebook_share_icon') || document.getElementById('facebook_share_both') || document.getElementById('facebook_share_button');
if (button) {
	button.onclick = function(e) {
		var url = this.href.replace(/share\.php/, 'sharer.php');
		window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
		return false;
	}

	if (button.id === 'facebook_share_button') {
		button.onmouseover = function(){
			this.style.color='#fff';
			this.style.borderColor = '#295582';
			this.style.backgroundColor = '#3b5998';
		}
		button.onmouseout = function(){
			this.style.color = '#3b5998';
			this.style.borderColor = '#d8dfea';
			this.style.backgroundColor = '#fff';
		}
	}
}
</script>
]]></content:encoded>
			<wfw:commentRss>http://dzhou.net/blog/?feed=rss2&amp;p=79</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>invest in the investors; not the MF</title>
		<link>http://dzhou.net/blog/?p=75</link>
		<comments>http://dzhou.net/blog/?p=75#comments</comments>
		<pubDate>Wed, 16 Dec 2009 07:17:00 +0000</pubDate>
		<dc:creator>Ding</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dzhou.net/blog/?p=75</guid>
		<description><![CDATA[The world is becoming more open and transparent, as evident by more private content and info being shared on the Web or through social networks every day. People know more about each other and understand more about the world&#8217;s information at an amazing speed. However, there is one place in the U.S. that has been [...]]]></description>
			<content:encoded><![CDATA[<p>The world is becoming more open and transparent, as evident by more private content and info being shared on the Web or through social networks every day. People know more about each other and understand more about the world&#8217;s information at an amazing speed. However, there is one place in the U.S. that has been a forbidden city full of mysteries; there is one thing in the world that is a carefully guarded secret &#8212; do we really know how those Wall Street firms invest *our* money?</p>
<p>In this interesting country, people care a lot about how the government spend their mandatory tax money so they get together every four years and burn hundreds of millions of dollars to listen to a few candidate proposals. This way, they feel secured as they understand how 1/3 of their gross income would be spent. However, when it comes to dealing with their life-long savings, most of them surprisingly know very little about how the retirement fund or mutual funds or hedge fund works. For most of them, when deciding on their investment, all they take as input is the name of the financial firm and the sector of mutual fund (MF). Very few of them look at who the fund manager is. And I&#8217;ve never hear of anyone switching to a new MF only because the previous star manager left. However, it&#8217;s really the fund manager who drives the fund and they jump around all the time &#8212; why do you still buy the season ticket now that Michael Jordan has left Bulls? Few people understand this or with limited options choose to neglect this. They buy and hold through ups and downs, letting go most of profits made *their money* into the Wall street&#8217;s pocket. The root cause of this is the market inefficiency set forth by people&#8217;s limited options and lack of transparency from Wall street. I thought about this a few years ago &#8212; there has to be a better and more transparent way to invest my money! And here is one:</p>
<p>http://www.techcrunch.com/2009/12/15/kaching-funding/</p>
<p>It&#8217;s the people that matters. Why should we pay so much to the firms that hire them? A small amount of insurance premium to hedge against risks is fine but we have obviously been paying to fly their jets as well&#8230;</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdzhou.net%2Fblog%2F%3Fp%3D75&amp;t=invest%20in%20the%20investors%3B%20not%20the%20MF" id="facebook_share_link">Share on Facebook</a>
<script type="text/javascript">
var button = document.getElementById('facebook_share_link') || document.getElementById('facebook_share_icon') || document.getElementById('facebook_share_both') || document.getElementById('facebook_share_button');
if (button) {
	button.onclick = function(e) {
		var url = this.href.replace(/share\.php/, 'sharer.php');
		window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
		return false;
	}

	if (button.id === 'facebook_share_button') {
		button.onmouseover = function(){
			this.style.color='#fff';
			this.style.borderColor = '#295582';
			this.style.backgroundColor = '#3b5998';
		}
		button.onmouseout = function(){
			this.style.color = '#3b5998';
			this.style.borderColor = '#d8dfea';
			this.style.backgroundColor = '#fff';
		}
	}
}
</script>
]]></content:encoded>
			<wfw:commentRss>http://dzhou.net/blog/?feed=rss2&amp;p=75</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>create your calculator with awk</title>
		<link>http://dzhou.net/blog/?p=66</link>
		<comments>http://dzhou.net/blog/?p=66#comments</comments>
		<pubDate>Thu, 05 Nov 2009 08:11:18 +0000</pubDate>
		<dc:creator>Ding</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dzhou.net/blog/?p=66</guid>
		<description><![CDATA[in your bash, do the following
calc(){ awk "BEGIN{ print $* }" ; }
and then do the following:
calc 2*1 - 12
and
calc '2*(1 - 12)'

you can put this in your ~/.bash_profile too&#8230;
Share on Facebook

var button = document.getElementById('facebook_share_link') &#124;&#124; document.getElementById('facebook_share_icon') &#124;&#124; document.getElementById('facebook_share_both') &#124;&#124; document.getElementById('facebook_share_button');
if (button) {
	button.onclick = function(e) {
		var url = this.href.replace(/share\.php/, 'sharer.php');
		window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
		return false;
	}

	if (button.id === 'facebook_share_button') {
		button.onmouseover [...]]]></description>
			<content:encoded><![CDATA[<p>in your bash, do the following</p>
<pre class="python">calc(){ awk "BEGIN{ print $* }" ; }</pre>
<p>and then do the following:</p>
<pre class="java">calc 2*1 - 12</pre>
<p>and</p>
<pre class="java">calc '2*(1 - 12)'
</pre>
<p>you can put this in your ~/.bash_profile too&#8230;</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdzhou.net%2Fblog%2F%3Fp%3D66&amp;t=create%20your%20calculator%20with%20awk" id="facebook_share_link">Share on Facebook</a>
<script type="text/javascript">
var button = document.getElementById('facebook_share_link') || document.getElementById('facebook_share_icon') || document.getElementById('facebook_share_both') || document.getElementById('facebook_share_button');
if (button) {
	button.onclick = function(e) {
		var url = this.href.replace(/share\.php/, 'sharer.php');
		window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
		return false;
	}

	if (button.id === 'facebook_share_button') {
		button.onmouseover = function(){
			this.style.color='#fff';
			this.style.borderColor = '#295582';
			this.style.backgroundColor = '#3b5998';
		}
		button.onmouseout = function(){
			this.style.color = '#3b5998';
			this.style.borderColor = '#d8dfea';
			this.style.backgroundColor = '#fff';
		}
	}
}
</script>
]]></content:encoded>
			<wfw:commentRss>http://dzhou.net/blog/?feed=rss2&amp;p=66</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good stocks? bad stocks?</title>
		<link>http://dzhou.net/blog/?p=62</link>
		<comments>http://dzhou.net/blog/?p=62#comments</comments>
		<pubDate>Sat, 10 Oct 2009 21:35:36 +0000</pubDate>
		<dc:creator>Ding</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dzhou.net/blog/?p=62</guid>
		<description><![CDATA[So one of the many challenges an algorithmic trader faces is to come up with a good watch list. Why? — A trading strategy is almost always conditioned on a watch list. And the total performance is the product of the quality of the watchlist and that of the trading strategy. In the past, I’ve [...]]]></description>
			<content:encoded><![CDATA[<p>So one of the many challenges an algorithmic trader faces is to come up with a good watch list. Why? — A trading strategy is almost always conditioned on a watch list. And the total performance is the product of the quality of the watchlist and that of the trading strategy. In the past, I’ve read a lot of good articles proposing various watchlist generation ideas. Despite the rosy pictures they paint, I believe in data. So I wrote a small program to provide another data point.</p>
<p>This is what I did. I write a wrapper around one trading strategy of mine. Randomly sample n stocks from a grand watch list. Pair each of the sample with a few index ETF and run my trading over x years of history data until a few years ago. Then based on the performances of each sample stock, I divide them into two buckets, and run the same trading strategy from that point onward until now, on two new watch lists respectively. Here are my observations:</p>
<p>1. Overall, over a long period of time, there is no positive correlation between a stock’s past performance with a stock’s future performance, conditioned on the same trading strategy</p>
<p>2. For large cap, there is in fact a negative correlation between past and future performance. In many cases, the future gain between the top and bottom half of the stocks by past performance, can differ by 2x or more.</p>
<p>3. For small cap, there is a weak positive correlation between past and future performance. The future performances differ even more dramatically between *good* and *bad* stocks than the past performances.</p>
<p>Of course, i can’t tell you on what time period i’ve drawn the above conclusion. <img src='http://dzhou.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  But in one word, I observe that, in the market, there are trends and there’re waves.</p>
<p>Takeaways? There’re a few. Some specific to traders are: 1) past successful strategies will very likely fail in the future, at least on the same set of stocks (so develop new strategies or at least update your watchlists, if you don’t want to be another prey of the wall street); 2) do not get too excited with your backtest results, history does not repeat, again, at least on the same set of stocks.</p>
<p>An even more profound lesson here applies to not only the stock market. Note how very unlikely a successful company (a large cap is a built on top of its past success I assume) can remain successful over a long time? It’s much easier for a great company to remain good when it is small. But is much much harder for it to repeat its success, at least according to the statistics. <img src='http://dzhou.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdzhou.net%2Fblog%2F%3Fp%3D62&amp;t=Good%20stocks%3F%20bad%20stocks%3F" id="facebook_share_link">Share on Facebook</a>
<script type="text/javascript">
var button = document.getElementById('facebook_share_link') || document.getElementById('facebook_share_icon') || document.getElementById('facebook_share_both') || document.getElementById('facebook_share_button');
if (button) {
	button.onclick = function(e) {
		var url = this.href.replace(/share\.php/, 'sharer.php');
		window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
		return false;
	}

	if (button.id === 'facebook_share_button') {
		button.onmouseover = function(){
			this.style.color='#fff';
			this.style.borderColor = '#295582';
			this.style.backgroundColor = '#3b5998';
		}
		button.onmouseout = function(){
			this.style.color = '#3b5998';
			this.style.borderColor = '#d8dfea';
			this.style.backgroundColor = '#fff';
		}
	}
}
</script>
]]></content:encoded>
			<wfw:commentRss>http://dzhou.net/blog/?feed=rss2&amp;p=62</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>To plug in Dell S2409W for old laptops (e.g. IBM X60s)</title>
		<link>http://dzhou.net/blog/?p=59</link>
		<comments>http://dzhou.net/blog/?p=59#comments</comments>
		<pubDate>Mon, 21 Sep 2009 08:51:50 +0000</pubDate>
		<dc:creator>Ding</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dzhou.net/blog/?p=59</guid>
		<description><![CDATA[My IBM X60s is so old that it has to upgrade its bios in order for the right resolution (1920 x 1080) to show up. I&#8217;m on an XP OS. Here are the step-by-steps that&#8217;ll hopefully save you sometime:
1. right click My Computer on Desktop and choose System Properties. Go to the Device Manager Tab [...]]]></description>
			<content:encoded><![CDATA[<p>My <strong>IBM X60s</strong> is so old that it has to upgrade its bios in order for the right resolution <strong>(1920 x 1080)</strong> to show up. I&#8217;m on an XP OS. Here are the step-by-steps that&#8217;ll hopefully save you sometime:</p>
<p>1. right click My Computer on Desktop and choose System Properties. Go to the Device Manager Tab and Choose Device Manager. There you&#8217;ll find out what your Display Adapter&#8217;s Chipset is. I have a X60s and my Video Adapter is <strong>Mobile Intel(R) 945 Express Chipset Family</strong>.</p>
<p>2. Go to intel.com or google to search for an upgrade of your chipset. Here&#8217;s the download link for <a href="http://www.intel.com/products/notebook/chipsets/945pm/945pm-overview.htm">Intel 945GM Chipset</a> . Now install the new chipset driver. You can also use the <a href="http://www.intel.com/support/graphics/detect.htm">Intel driver tool</a> to detect whether your video driver needs upgrading.</p>
<p>3. Go to Dell to download the config file for the monitor. I have a<strong> S2409W</strong> so my config file is downloaded from the <a href="http://support.us.dell.com/support/downloads/download.aspx?c=us&amp;cs=19&amp;l=en&amp;s=dhs&amp;releaseid=R222243&amp;formatcnt=1&amp;libid=0&amp;fileid=319710">Dell&#8217;s driver support page</a>. Extract files from the downloaded zip archive and remember the location.</p>
<p>4. Go to the Device Manager and choose the Monitor from the list. Right click and choose Update Driver. Then choose to manually upgrade driver using files as extracted in the previous step.</p>
<p>5. Now upgrade your Laptop&#8217;s bios so it knows that there&#8217;re  a monitor model called <strong>S2409W</strong>. Usually your laptop vendor&#8217;s web page has upgrade file. I have a <strong>IBM X60s</strong> and I downloaded the file from <a href="http://www-307.ibm.com/pc/support/site.wss/MIGR-63144.html">here</a>.</p>
<p>6. Unzip the downloaded bios upgrade file and double click to run the <strong>WINUPTP.EXE</strong>.<strong></strong></p>
<p>7. now you can restart your machine for the first time.</p>
<p>8. Right click on desktop and click on Properties. Go to setting and you should be able to use the new resolution of  <strong>(1920 x 1080)<br />
</strong></p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdzhou.net%2Fblog%2F%3Fp%3D59&amp;t=To%20plug%20in%20Dell%20S2409W%20for%20old%20laptops%20%28e.g.%20IBM%20X60s%29" id="facebook_share_link">Share on Facebook</a>
<script type="text/javascript">
var button = document.getElementById('facebook_share_link') || document.getElementById('facebook_share_icon') || document.getElementById('facebook_share_both') || document.getElementById('facebook_share_button');
if (button) {
	button.onclick = function(e) {
		var url = this.href.replace(/share\.php/, 'sharer.php');
		window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
		return false;
	}

	if (button.id === 'facebook_share_button') {
		button.onmouseover = function(){
			this.style.color='#fff';
			this.style.borderColor = '#295582';
			this.style.backgroundColor = '#3b5998';
		}
		button.onmouseout = function(){
			this.style.color = '#3b5998';
			this.style.borderColor = '#d8dfea';
			this.style.backgroundColor = '#fff';
		}
	}
}
</script>
]]></content:encoded>
			<wfw:commentRss>http://dzhou.net/blog/?feed=rss2&amp;p=59</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lee Kaifu leaving Google China</title>
		<link>http://dzhou.net/blog/?p=56</link>
		<comments>http://dzhou.net/blog/?p=56#comments</comments>
		<pubDate>Fri, 04 Sep 2009 19:15:50 +0000</pubDate>
		<dc:creator>Ding</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dzhou.net/blog/?p=56</guid>
		<description><![CDATA[Wikipedia has updated Kai-Fu&#8217;s page almost right after the official announcement by Google China.
While many are celebrating Kai-Fu&#8217;s achievement today, let&#8217;s take a look at his previous jobs:

Corporate Vice President, Natural Interactive Services Division (NISD), Microsoft Corp. 2000 &#8211; July, 2005 [3]
Founder, Microsoft Research Asia, China, 1998-2000
President, Cosmo Software
President, Multimedia Software Business Unit, Silicon Graphics [...]]]></description>
			<content:encoded><![CDATA[<p>Wikipedia has updated Kai-Fu&#8217;s page almost right after the official announcement by Google China.</p>
<p>While many are celebrating Kai-Fu&#8217;s achievement today, let&#8217;s take a look at his previous jobs:</p>
<ul>
<li>Corporate Vice President, Natural Interactive Services Division (NISD), Microsoft Corp. 2000 &#8211; July, 2005 <a title="http://www.microsoft.com/presspass/exec/kaifu/default.mspx" rel="nofollow" href="http://www.microsoft.com/presspass/exec/kaifu/default.mspx">[3]</a></li>
<li>Founder, <a title="Microsoft Research" href="http://en.wikipedia.org/wiki/Microsoft_Research">Microsoft Research</a> Asia, China, 1998-2000</li>
<li>President, Cosmo Software</li>
<li>President, Multimedia Software Business Unit, <a title="Silicon Graphics" href="http://en.wikipedia.org/wiki/Silicon_Graphics">Silicon Graphics</a> Inc. (SGI)</li>
<li>Vice President &amp; General Manager, Web Products, Silicon Graphics Inc. (SGI)</li>
<li>Vice President, Interactive Media Group, Apple Computer, 1990-1996</li>
<li>Assistant Professor, Carnegie Mellon University, 1988-1990</li>
</ul>
<p>It&#8217;s rather a long professional history of 20 years before he decides to do something of his own. On the other hand, 20 years, being spent to reach where he is now, is indeed an amazing journey. I&#8217;m holding my breath for KaiFu&#8217;s ventures in China. I thought we&#8217;ve passed the golden age of Internet? KaiFu could prove me wrong on China.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdzhou.net%2Fblog%2F%3Fp%3D56&amp;t=Lee%20Kaifu%20leaving%20Google%20China" id="facebook_share_link">Share on Facebook</a>
<script type="text/javascript">
var button = document.getElementById('facebook_share_link') || document.getElementById('facebook_share_icon') || document.getElementById('facebook_share_both') || document.getElementById('facebook_share_button');
if (button) {
	button.onclick = function(e) {
		var url = this.href.replace(/share\.php/, 'sharer.php');
		window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
		return false;
	}

	if (button.id === 'facebook_share_button') {
		button.onmouseover = function(){
			this.style.color='#fff';
			this.style.borderColor = '#295582';
			this.style.backgroundColor = '#3b5998';
		}
		button.onmouseout = function(){
			this.style.color = '#3b5998';
			this.style.borderColor = '#d8dfea';
			this.style.backgroundColor = '#fff';
		}
	}
}
</script>
]]></content:encoded>
			<wfw:commentRss>http://dzhou.net/blog/?feed=rss2&amp;p=56</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>so you think you can trade with algorithms?</title>
		<link>http://dzhou.net/blog/?p=48</link>
		<comments>http://dzhou.net/blog/?p=48#comments</comments>
		<pubDate>Wed, 26 Aug 2009 05:33:30 +0000</pubDate>
		<dc:creator>Ding</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dzhou.net/blog/?p=48</guid>
		<description><![CDATA[interesting read &#8212; performance really depends on your selection of initial watchlist. on SP100, in my implementation, the performance has been 10%-20% year over year for the past 10 years. the portfolio shrinks to 40% in worst times&#8230;
&#8220;Algorithms for Portfolio Management based on the Newton Method&#8221;  
Share on Facebook

var button = document.getElementById('facebook_share_link') &#124;&#124; document.getElementById('facebook_share_icon') [...]]]></description>
			<content:encoded><![CDATA[<p>interesting read &#8212; performance really depends on your selection of initial watchlist. on SP100, in my implementation, the performance has been 10%-20% year over year for the past 10 years. the portfolio shrinks to 40% in worst times&#8230;</p>
<p><a href="http://dzhou.net/blog/wp-content/uploads/2009/08/portfolio_management.pdf" target="_blank">&#8220;Algorithms for Portfolio Management based on the Newton Method&#8221; </a><a href="http://dzhou.net/blog/wp-content/uploads/2009/08/portfolio_management.pdf"> </a></p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdzhou.net%2Fblog%2F%3Fp%3D48&amp;t=so%20you%20think%20you%20can%20trade%20with%20algorithms%3F" id="facebook_share_link">Share on Facebook</a>
<script type="text/javascript">
var button = document.getElementById('facebook_share_link') || document.getElementById('facebook_share_icon') || document.getElementById('facebook_share_both') || document.getElementById('facebook_share_button');
if (button) {
	button.onclick = function(e) {
		var url = this.href.replace(/share\.php/, 'sharer.php');
		window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
		return false;
	}

	if (button.id === 'facebook_share_button') {
		button.onmouseover = function(){
			this.style.color='#fff';
			this.style.borderColor = '#295582';
			this.style.backgroundColor = '#3b5998';
		}
		button.onmouseout = function(){
			this.style.color = '#3b5998';
			this.style.borderColor = '#d8dfea';
			this.style.backgroundColor = '#fff';
		}
	}
}
</script>
]]></content:encoded>
			<wfw:commentRss>http://dzhou.net/blog/?feed=rss2&amp;p=48</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Emacs: Change function color</title>
		<link>http://dzhou.net/blog/?p=42</link>
		<comments>http://dzhou.net/blog/?p=42#comments</comments>
		<pubDate>Thu, 20 Aug 2009 23:27:06 +0000</pubDate>
		<dc:creator>Ding</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dzhou.net/blog/?p=42</guid>
		<description><![CDATA[An emacs tip to share:
M-x customize-face 
// twice to view all kinds for things to cutomize
// font-lock-* are the things you can attach color
Customize face> font-lock-function-name-face RET
// Then you can edit the color options in a nice form
Enjoy coding on servers&#8230;
Share on Facebook

var button = document.getElementById('facebook_share_link') &#124;&#124; document.getElementById('facebook_share_icon') &#124;&#124; document.getElementById('facebook_share_both') &#124;&#124; document.getElementById('facebook_share_button');
if (button) {
	button.onclick = [...]]]></description>
			<content:encoded><![CDATA[<p>An emacs tip to share:</p>
<p>M-x customize-face <RET><br />
//<TAB> twice to view all kinds for things to cutomize<br />
// font-lock-* are the things you can attach color<br />
Customize face> font-lock-function-name-face RET<br />
// Then you can edit the color options in a nice form</p>
<p>Enjoy coding on servers&#8230;</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdzhou.net%2Fblog%2F%3Fp%3D42&amp;t=Emacs%3A%20Change%20function%20color" id="facebook_share_link">Share on Facebook</a>
<script type="text/javascript">
var button = document.getElementById('facebook_share_link') || document.getElementById('facebook_share_icon') || document.getElementById('facebook_share_both') || document.getElementById('facebook_share_button');
if (button) {
	button.onclick = function(e) {
		var url = this.href.replace(/share\.php/, 'sharer.php');
		window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
		return false;
	}

	if (button.id === 'facebook_share_button') {
		button.onmouseover = function(){
			this.style.color='#fff';
			this.style.borderColor = '#295582';
			this.style.backgroundColor = '#3b5998';
		}
		button.onmouseout = function(){
			this.style.color = '#3b5998';
			this.style.borderColor = '#d8dfea';
			this.style.backgroundColor = '#fff';
		}
	}
}
</script>
]]></content:encoded>
			<wfw:commentRss>http://dzhou.net/blog/?feed=rss2&amp;p=42</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

