﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
  <channel>
    <title>Statistical Trader</title>
    <description>On the Application of Sound Empirical Practice to Trading</description>
    <link>http://blog.gillerinvestments.com/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.4.5.0</generator>
    <language>en-GB</language>
    <blogChannel:blogRoll>http://blog.gillerinvestments.com/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.dotnetblogengine.net/syndication.axd</blogChannel:blink>
    <dc:creator>Graham Giller</dc:creator>
    <dc:title>Statistical Trader</dc:title>
    <item>
      <title>Follow me to twitter @StatTrader</title>
      <description>Since I am working full time managing the Data Sciences team for Bloomberg Global Data, I haven&amp;#39;t done any of the sort of long-form blogging, that I used to do here, for many months. And I probably won&amp;#39;t for a while. I have been putting stuff onto my twitter feed, though, so please follow &lt;a href="http://twitter.com/StatTrader" title="@StatTrader on twitter"&gt;@StatTrader&lt;img src="http://twitter.com/favicon.ico" alt="twitter" height="11" /&gt;&lt;/a&gt; there.
</description>
      <link>http://blog.gillerinvestments.com/post/2014/04/19/Follow-me-to-twitter-StatTrader.aspx</link>
      <author>blog.nospam@nospam.gillerinvestments.com (Graham)</author>
      <comments>http://blog.gillerinvestments.com/post/2014/04/19/Follow-me-to-twitter-StatTrader.aspx#comment</comments>
      <guid>http://blog.gillerinvestments.com/post.aspx?id=011050b0-4ca6-4998-9903-9944a0bf3e8b</guid>
      <pubDate>Sat, 19 Apr 2014 09:32:00 -0400</pubDate>
      <dc:publisher>Graham</dc:publisher>
      <pingback:server>http://blog.gillerinvestments.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.gillerinvestments.com/post.aspx?id=011050b0-4ca6-4998-9903-9944a0bf3e8b</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.gillerinvestments.com/trackback.axd?id=011050b0-4ca6-4998-9903-9944a0bf3e8b</trackback:ping>
      <wfw:comment>http://blog.gillerinvestments.com/post/2014/04/19/Follow-me-to-twitter-StatTrader.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.gillerinvestments.com/syndication.axd?post=011050b0-4ca6-4998-9903-9944a0bf3e8b</wfw:commentRss>
    </item>
    <item>
      <title>Relationship between Body Mass Index and Rate of Soda Consumption</title>
      <description>&lt;p&gt;
Over the last year, before I started working for Bloomberg LP (&lt;a href="http://t.co/d3Zq8cJR1J" title="Data Scientist at Bloomberg LP"&gt;we&amp;#39;re hiring&lt;/a&gt;&amp;nbsp;for my group), I got quite familiar with the CDC&amp;#39;s&amp;nbsp;&lt;a href="http://www.cdc.gov/brfss/annual_data/annual_2012.html"&gt;Behavioural Risk Factor Surveillance System&lt;/a&gt;&amp;nbsp;surveys. Over the holiday break, I figured I&amp;#39;d load up the 2012 edition, and see what I could find.
The survey includes the following question:
&lt;br /&gt;
&lt;/p&gt;
&lt;blockquote style="margin: 10px 10px 10px 40px; border: none; padding: 0px"&gt;
	During the past 30 days, how often did you drink regular soda or pop that contains sugar?&lt;br /&gt;
	Do not include diet soda.
&lt;/blockquote&gt;
&lt;p&gt;
I thought it&amp;#39;d be interesting to ask first if there is any gross correlation between soda consumption and obesity within this sample of approximately half-a-million responses. There is a mild covariance, but it is not statistically significant.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;img src="http://blog.gillerinvestments.com/image.axd?picture=2013%2f12%2fBMI+vs+Soda.png" alt="" width="500" /&gt;
&lt;/p&gt;
&lt;p&gt;
Of course, the BRFSS is not a longitudenal survey so we cannot answer the real question:
&lt;br /&gt;
&lt;/p&gt;
&lt;blockquote&gt;
	Do changes in soda consumption lead to future changes in BMI?
&lt;/blockquote&gt;
</description>
      <link>http://blog.gillerinvestments.com/post/2013/12/28/Relationship-between-Body-Mass-Index-and-Rate-of-Soda-Consumption.aspx</link>
      <author>blog.nospam@nospam.gillerinvestments.com (Graham)</author>
      <comments>http://blog.gillerinvestments.com/post/2013/12/28/Relationship-between-Body-Mass-Index-and-Rate-of-Soda-Consumption.aspx#comment</comments>
      <guid>http://blog.gillerinvestments.com/post.aspx?id=4e98d804-a978-461d-ab8c-84995ed40317</guid>
      <pubDate>Sat, 28 Dec 2013 17:54:00 -0400</pubDate>
      <dc:publisher>Graham</dc:publisher>
      <pingback:server>http://blog.gillerinvestments.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.gillerinvestments.com/post.aspx?id=4e98d804-a978-461d-ab8c-84995ed40317</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.gillerinvestments.com/trackback.axd?id=4e98d804-a978-461d-ab8c-84995ed40317</trackback:ping>
      <wfw:comment>http://blog.gillerinvestments.com/post/2013/12/28/Relationship-between-Body-Mass-Index-and-Rate-of-Soda-Consumption.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.gillerinvestments.com/syndication.axd?post=4e98d804-a978-461d-ab8c-84995ed40317</wfw:commentRss>
    </item>
    <item>
      <title>Sidetrack Continued: The Nth Ranked Item in an Aggregation</title>
      <description>&lt;p&gt;
Building on the prior post, it&amp;#39;s natural to as for the &lt;em&gt;LASTRANKED&lt;/em&gt;() item in an aggregation, and trivial to code up, but also to ask for the &lt;em&gt;N&lt;/em&gt;th ranked item in an aggregation. This is a little more complicated as we have to maintain an ordered list of items, have the ability to merge and prune the sublists prepared by separate threads of an execution plan, do that with reasonable efficiency, and yet keep the memory footprint under control. However, not impossible so here is my SQL Server user defined aggregate:
&lt;/p&gt;
&lt;p&gt;
&lt;font face="courier new, courier"&gt;CREATE AGGREGATE dbo.NthRanked(@Value AS FLOAT,@Rank AS FLOAT,@Order AS INT) RETURNS FLOAT&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
For compactness I decided to code it so that if a call with ranking order &lt;em&gt;N&lt;/em&gt;&amp;nbsp;is positive it returns the items based on the ordering from least to greatest and if it is negative based on the ordering from greatest to least. i.e. order +1 is the first item and &amp;minus;1 is the last item. This is somewhat similar to the function &lt;em&gt;NTH&lt;/em&gt;() provided by Google&amp;#39;s &lt;em&gt;Big Query&lt;/em&gt;&amp;nbsp;system, but actually I believe more general in specification.
&lt;/p&gt;
&lt;p&gt;
A note. This code does not make any attempts to keep it&amp;#39;s internal data structures within a single database page in size, so if you ask for the &lt;em&gt;millionth&lt;/em&gt;&amp;nbsp;ranked item you might generate an exception in the run time. However, this approach allows such limits to be imposed from the outside rather than as a design constraint, so I prefer it that way!
&lt;/p&gt;
&lt;p&gt;
Here&amp;#39;s a zipfile will all of the functions: &amp;nbsp;&lt;a href="http://blog.gillerinvestments.com/file.axd?file=2012%2f8%2fFirstRanked.zip"&gt;FirstRanked.zip (5.50 kb)&lt;/a&gt;
&lt;/p&gt;
</description>
      <link>http://blog.gillerinvestments.com/post/2012/08/12/Sidetrack-Continued-The-Nth-Ranked-Item-in-an-Aggregation.aspx</link>
      <author>blog.nospam@nospam.gillerinvestments.com (Graham)</author>
      <comments>http://blog.gillerinvestments.com/post/2012/08/12/Sidetrack-Continued-The-Nth-Ranked-Item-in-an-Aggregation.aspx#comment</comments>
      <guid>http://blog.gillerinvestments.com/post.aspx?id=e1de14ec-a3a7-46ca-bbdb-a9bac1426b62</guid>
      <pubDate>Sun, 12 Aug 2012 22:42:00 -0400</pubDate>
      <category>Systems</category>
      <dc:publisher>Graham</dc:publisher>
      <pingback:server>http://blog.gillerinvestments.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.gillerinvestments.com/post.aspx?id=e1de14ec-a3a7-46ca-bbdb-a9bac1426b62</pingback:target>
      <slash:comments>42</slash:comments>
      <trackback:ping>http://blog.gillerinvestments.com/trackback.axd?id=e1de14ec-a3a7-46ca-bbdb-a9bac1426b62</trackback:ping>
      <wfw:comment>http://blog.gillerinvestments.com/post/2012/08/12/Sidetrack-Continued-The-Nth-Ranked-Item-in-an-Aggregation.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.gillerinvestments.com/syndication.axd?post=e1de14ec-a3a7-46ca-bbdb-a9bac1426b62</wfw:commentRss>
    </item>
    <item>
      <title>Sidetrack: SQL Server User Defined Aggregates for the First and Last Items in an Aggregation</title>
      <description>&lt;p&gt;
I&amp;#39;ve had these functions kicking around for a while, so I thought I&amp;#39;d share. For some context: I use relational databases as flexible data stores. The developer edition of Microsoft SQL Server is identical to the enterprise edition, but costs a negligible amount of money (~$50) as it is licensed for a single user only. This system is capable of breaking queries into mutiple independently scheduled threads and recombining the results&amp;nbsp;&amp;mdash; a MapReduce engine in effect on a single server. 
&lt;/p&gt;
&lt;p&gt;
Anyway one thing that comes up &lt;em&gt;a lot&lt;/em&gt; in time-series analysis is the need to find the &amp;quot;first&amp;quot; or &amp;quot;last&amp;quot; item in a list. SQL has many aggregation functions but &amp;quot;first&amp;quot; and &amp;quot;last&amp;quot; are not among them. The reason is important: you cannot control the order in which the database engine processes the data, particularly a multi-threaded database engine that may split your data into multiple packets, and so the definitions of &amp;quot;first&amp;quot; and &amp;quot;last&amp;quot; that seem natural to the analyst simply cannot be taught to query processor.
&lt;/p&gt;
&lt;p&gt;
After a little thought I figured out that the key to solving this problem is to define the ordering, or ranking, of the data yourself. Couple that with the capability of SQL Server 2008 (and later) to: a, build user defined aggregates in any windows language; and, b, allow those aggregates to have multiple arguments; and, the problem is solved. Attached to this post is a sample user defined aggregate function which performs this task.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Basically, we replace the desired aggregate function FIRST(Price), which possesses an implicit temporal ordering, with a user defined aggregate FIRSTRANKED(Price,Time), in which we specify the ordering explicity. That&amp;#39;s all, problem solved. &amp;nbsp;(I also have these functions written in C for MySQL if there&amp;#39;s interest.)&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.gillerinvestments.com/file.axd?file=2012%2f8%2fFirstRanked.vb"&gt;FirstRanked.vb (3.69 kb)&lt;/a&gt;
&lt;/p&gt;
</description>
      <link>http://blog.gillerinvestments.com/post/2012/08/03/Sidetrack-SQL-Server-User-Defined-Aggregates-for-the-First-and-Last-Items-in-an-Aggregation.aspx</link>
      <author>blog.nospam@nospam.gillerinvestments.com (Graham)</author>
      <comments>http://blog.gillerinvestments.com/post/2012/08/03/Sidetrack-SQL-Server-User-Defined-Aggregates-for-the-First-and-Last-Items-in-an-Aggregation.aspx#comment</comments>
      <guid>http://blog.gillerinvestments.com/post.aspx?id=2d4b873e-856e-4d2d-a37d-a37da976d648</guid>
      <pubDate>Fri, 03 Aug 2012 22:33:00 -0400</pubDate>
      <category>Time Series Analysis</category>
      <category>Software</category>
      <dc:publisher>Graham</dc:publisher>
      <pingback:server>http://blog.gillerinvestments.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.gillerinvestments.com/post.aspx?id=2d4b873e-856e-4d2d-a37d-a37da976d648</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.gillerinvestments.com/trackback.axd?id=2d4b873e-856e-4d2d-a37d-a37da976d648</trackback:ping>
      <wfw:comment>http://blog.gillerinvestments.com/post/2012/08/03/Sidetrack-SQL-Server-User-Defined-Aggregates-for-the-First-and-Last-Items-in-an-Aggregation.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.gillerinvestments.com/syndication.axd?post=2d4b873e-856e-4d2d-a37d-a37da976d648</wfw:commentRss>
    </item>
    <item>
      <title>What Might Statistical Evidence of Collusion in LIBOR Fixes Look Like?</title>
      <description>&lt;p&gt;
In the previous post I discussed a little history and a little theory about the consequences of a cartel of banks fixing the LIBOR fixes. Fortunately the data for LIBOR is readily available from the&amp;nbsp;&lt;a href="http://research.stlouisfed.org/fred2/data/USD3MTD156N.txt" title="3 Month USD LIBOR "&gt;Federal Reserve Bank of St. Louis&lt;/a&gt;. Similarly, data for the discount rates of&amp;nbsp;&lt;a href="http://research.stlouisfed.org/fred2/data/DTB3.txt" title="Three Month US Treasury Bills Discount Rate"&gt;three month treasury bills&lt;/a&gt;&amp;nbsp;is also available. Our hypothesis is that in a free market the transmission of risk free policy rates to risky market rates should essentially be linear, described by the equation
&lt;/p&gt;
&lt;div style="text-align: center"&gt;
&lt;img src="http://blog.gillerinvestments.com/image.axd?picture=2012%2f8%2fmathtex.gif" alt="" /&gt;
&lt;/div&gt;
&lt;div style="text-align: center"&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;div style="text-align: left"&gt;
This says that each bank&amp;#39;s individual cost of funds is linearly related to the risk-free-rate and as a consequence the market average of the banks&amp;#39; cost of funds is also linearly related to the risk free rate. 
&lt;/div&gt;
&lt;div style="text-align: left"&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;div style="text-align: left"&gt;
Thus, in an efficient market the stochastic process that is LIBOR should have the same autocovariance structure as that of US Treasury Bills. I&amp;#39;m not saying that bill rates have to be i.i.d. random, I&amp;#39;m just saying that &lt;em&gt;LIBOR should have the same dynamic&lt;/em&gt;.&amp;nbsp;So to find out if the LIBOR fixing process is efficient we should test to see if the processes are statistically similar or not.
&lt;/div&gt;
&lt;div style="text-align: left"&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;div style="text-align: left"&gt;
I&amp;#39;m going to start with a simple model. Let&amp;#39;s say that the changes in rate are a Markov chain with three states: up, unchanged, and down. (The actual change in rate is then the product of a direction variable and a size variable.) This state sequence possesses the advantages of being simple to compute and easy to understand. We can then ask whether the state sequences show evidence of the Markov property, that they are predictable from their prior instance, or whether they are independent of their own history. There is a nice test for this, called &lt;em&gt;Whittle&amp;#39;s Test&lt;/em&gt;, which is essentially about building a contingency table and appying a&amp;nbsp;&lt;em&gt;&amp;chi;&amp;sup2; &lt;/em&gt;analysis to the observed counts. It is simple and it is about counting, so there is no introduction of hypotheses of normal distributions or leptokurtocity or GARCH or any time-series sophistication.
&lt;/div&gt;
&lt;div style="text-align: left"&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;p align="center"&gt;
&lt;img src="http://blog.gillerinvestments.com/image.axd?picture=2012%2f8%2fWhittle+Test+for+Serial+Dependence+of+3-State+Sequence+(Up%2cUnch%2cDown).png" alt="" width="600" /&gt;
&lt;/p&gt;
&lt;p style="text-align: left" align="center"&gt;
This chart shows the result of applying this test independently to each full year for which we can get LIBOR quotes and to the Bill Rates for the same years. The shading indicates when the test rejects the null hypothesis of independent state sequences with a confidence of better than 99%. You can see that the LIBOR sequences are not independent from about 1996 onwards, whereas the Treasury Bill sequences mostly are.
&lt;/p&gt;
&lt;p style="text-align: left" align="center"&gt;
Furthermore, without any statistical tests, I think it is plain to the eye that the LIBOR series is unnaturally smooth in the latter half, particularly when compared to the Treasury Bill series. Thus the hypothesis if neutral transmission of policy rates to market rates is rejected from 1996 onwards. I would suggest that something was going on with LIBOR since at least that date!
&lt;/p&gt;
</description>
      <link>http://blog.gillerinvestments.com/post/2012/08/01/What-Might-Statistical-Evidence-of-Collusion-in-LIBOR-Fixes-Look-Like.aspx</link>
      <author>blog.nospam@nospam.gillerinvestments.com (Graham)</author>
      <comments>http://blog.gillerinvestments.com/post/2012/08/01/What-Might-Statistical-Evidence-of-Collusion-in-LIBOR-Fixes-Look-Like.aspx#comment</comments>
      <guid>http://blog.gillerinvestments.com/post.aspx?id=3314aec6-74a7-49d8-8344-2803dc9bd7fb</guid>
      <pubDate>Wed, 01 Aug 2012 22:28:00 -0400</pubDate>
      <category>Empirical</category>
      <category>Interest Rates</category>
      <dc:publisher>Graham</dc:publisher>
      <pingback:server>http://blog.gillerinvestments.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.gillerinvestments.com/post.aspx?id=3314aec6-74a7-49d8-8344-2803dc9bd7fb</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.gillerinvestments.com/trackback.axd?id=3314aec6-74a7-49d8-8344-2803dc9bd7fb</trackback:ping>
      <wfw:comment>http://blog.gillerinvestments.com/post/2012/08/01/What-Might-Statistical-Evidence-of-Collusion-in-LIBOR-Fixes-Look-Like.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.gillerinvestments.com/syndication.axd?post=3314aec6-74a7-49d8-8344-2803dc9bd7fb</wfw:commentRss>
    </item>
    <item>
      <title>Back to an Old Friend — LIBOR</title>
      <description>&lt;p&gt;
When I started working for the PDT group in 1996, Peter Muller assigned me the task of building a model to forecast and trade Eurodollar futures. This was from inside what became a star statistical arbitrage group and had nothing to do with that. Our model was to include structural as well as autoregressive features, and so one task that needed to be done was to compute forward curves for LIBOR for all possible delivery maturies, not just those represented by today&amp;#39;s tradable eurodollar futures. To build that curve, we wanted a spot rate&amp;nbsp;&amp;mdash; 3m LIBOR.
&lt;/p&gt;
&lt;p&gt;
But I never used LIBOR to build my curves. I found that it had statistical anomalies compared to the projected behaviour one would expect from the deep and liquid Eurodollar futures market. It was too sticky &amp;mdash; quotes didn&amp;#39;t change as much as they should &amp;mdash; and this injected errors into the model for predicting the motions of the Eurodollar futures market itself. I concluded that LIBOR, a tool of brokers seeking to attract business rather than a record of actual transactions, was just biased and incorrect. As somebody building a trading model I just moved on.
&lt;/p&gt;
&lt;p&gt;
However, when I heard that the members of the BBA had been caught in the act of manipulating the LIBOR quotes &amp;mdash; let&amp;#39;s just say, I wasn&amp;#39;t very suprised. But I do not believe the story that this all started in 2008 to&amp;nbsp;&amp;ldquo;save the world.&amp;rdquo;
&lt;/p&gt;
&lt;p&gt;
Suppose there was a cartel that assembled quotes from members and subsequently punished those that provided outlier quotes to the assembled mean. However, add to this the economic factor these quotes can generate business for members and quoting too far from their idiosyncratic&amp;nbsp;&amp;ldquo;true&amp;rdquo; value would also cause economic distress. I believe that this dynamic would create a stochastic process of mean reversion to a consensus level, an Ornstein-Uhlenbeck process, coupled to stochastic but serially correlated jumps in that level. The dynamic being that the punishment for outliers causes cartel members to seek a common consensus, but the pain of being&amp;nbsp;&amp;ldquo;wong&amp;rdquo; is sometimes too much for an individual member and they are finally forced to change their quote&amp;nbsp;&amp;mdash; causing a jump in the level. That jump permits other members to also change their next quote to catch up with the establishing consensus and the level change exhibits serial correlation as members converge on that true level.
&lt;/p&gt;
&lt;p&gt;
In practice that would lead to &amp;ldquo;sticky&amp;rdquo; quotes on the aggregate coupled with jumps to new levels with the jumps being autocorrelated. And that distorted process, and its interference in the transfer of policy interest rates to market interest rates, should be exhibited in the data. We should be able to find the sticky fingerprints in the LIBOR series iteself.
&lt;/p&gt;
</description>
      <link>http://blog.gillerinvestments.com/post/2012/07/28/Back-to-an-Old-Friend-e28094-LIBOR.aspx</link>
      <author>blog.nospam@nospam.gillerinvestments.com (Graham)</author>
      <comments>http://blog.gillerinvestments.com/post/2012/07/28/Back-to-an-Old-Friend-e28094-LIBOR.aspx#comment</comments>
      <guid>http://blog.gillerinvestments.com/post.aspx?id=2ac8ea55-9c58-4670-80c3-b6ac225d02ed</guid>
      <pubDate>Sat, 28 Jul 2012 15:37:00 -0400</pubDate>
      <category>Theory</category>
      <category>Interest Rates</category>
      <dc:publisher>Graham</dc:publisher>
      <pingback:server>http://blog.gillerinvestments.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.gillerinvestments.com/post.aspx?id=2ac8ea55-9c58-4670-80c3-b6ac225d02ed</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.gillerinvestments.com/trackback.axd?id=2ac8ea55-9c58-4670-80c3-b6ac225d02ed</trackback:ping>
      <wfw:comment>http://blog.gillerinvestments.com/post/2012/07/28/Back-to-an-Old-Friend-e28094-LIBOR.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.gillerinvestments.com/syndication.axd?post=2ac8ea55-9c58-4670-80c3-b6ac225d02ed</wfw:commentRss>
    </item>
    <item>
      <title>Net Estimated Sentiment from Twitter vs Actual S&amp;P 500 Activity</title>
      <description>&lt;p&gt;
Been too busy to do this for a while, and also currently too sun-burned to get into a proper analysis, but here is a side-by-side comparison of the accumulated net sentiment inferred from S&amp;amp;P 400 Tweets (by hand classification) and the actual moves of the S&amp;amp;P 500. Right analysis is a cross-correlation function&amp;nbsp;&amp;mdash; will have to wait for that&amp;hellip;
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;img src="http://blog.gillerinvestments.com/image.axd?picture=2012%2f6%2fAccumulated+Sentiment+and+Market+Trend.png" alt="" width="600" /&gt;
&lt;/p&gt;
</description>
      <link>http://blog.gillerinvestments.com/post/2012/06/24/Net-Estimated-Sentiment-from-Twitter-vs-Actual-SP-500-Activity.aspx</link>
      <author>blog.nospam@nospam.gillerinvestments.com (Graham)</author>
      <comments>http://blog.gillerinvestments.com/post/2012/06/24/Net-Estimated-Sentiment-from-Twitter-vs-Actual-SP-500-Activity.aspx#comment</comments>
      <guid>http://blog.gillerinvestments.com/post.aspx?id=37f9ad5d-eb85-426c-b68e-a7484cfe360e</guid>
      <pubDate>Sun, 24 Jun 2012 20:20:00 -0400</pubDate>
      <category>Empirical</category>
      <category>Internet</category>
      <dc:publisher>Graham</dc:publisher>
      <pingback:server>http://blog.gillerinvestments.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.gillerinvestments.com/post.aspx?id=37f9ad5d-eb85-426c-b68e-a7484cfe360e</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.gillerinvestments.com/trackback.axd?id=37f9ad5d-eb85-426c-b68e-a7484cfe360e</trackback:ping>
      <wfw:comment>http://blog.gillerinvestments.com/post/2012/06/24/Net-Estimated-Sentiment-from-Twitter-vs-Actual-SP-500-Activity.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.gillerinvestments.com/syndication.axd?post=37f9ad5d-eb85-426c-b68e-a7484cfe360e</wfw:commentRss>
    </item>
    <item>
      <title>Average Sentiment vs Time of Day</title>
      <description>&lt;p&gt;
This is a simple non-parametric regression of the sentiment estimated from hand classified S&amp;amp;P&amp;nbsp;1500 tweets versus the time of day. Wonder if the features (bullish pre-open, sagging mid-afternoon) fade with more evenly balanced market moves?
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;img src="http://blog.gillerinvestments.com/image.axd?picture=2012%2f5%2fSentiment+Indicator+by+Hour+of+Day.jpg" alt="" width="600" /&gt;
&lt;/p&gt;
</description>
      <link>http://blog.gillerinvestments.com/post/2012/05/22/Average-Sentiment-vs-Time-of-Day.aspx</link>
      <author>blog.nospam@nospam.gillerinvestments.com (Graham)</author>
      <comments>http://blog.gillerinvestments.com/post/2012/05/22/Average-Sentiment-vs-Time-of-Day.aspx#comment</comments>
      <guid>http://blog.gillerinvestments.com/post.aspx?id=18e8f3e3-6ab9-4923-a560-dc2e5a00d128</guid>
      <pubDate>Tue, 22 May 2012 22:42:00 -0400</pubDate>
      <category>Empirical</category>
      <category>Internet</category>
      <dc:publisher>Graham</dc:publisher>
      <pingback:server>http://blog.gillerinvestments.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.gillerinvestments.com/post.aspx?id=18e8f3e3-6ab9-4923-a560-dc2e5a00d128</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.gillerinvestments.com/trackback.axd?id=18e8f3e3-6ab9-4923-a560-dc2e5a00d128</trackback:ping>
      <wfw:comment>http://blog.gillerinvestments.com/post/2012/05/22/Average-Sentiment-vs-Time-of-Day.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.gillerinvestments.com/syndication.axd?post=18e8f3e3-6ab9-4923-a560-dc2e5a00d128</wfw:commentRss>
    </item>
    <item>
      <title>Crude Exposition of the Properties of Sentiment Inferred from Twitter</title>
      <description>&lt;p&gt;
On the left, the autocorrelation of hand-classified S&amp;amp;P&amp;nbsp;400 tweets that have non-neutral sentiment. On the right a histogram of the calendar time intervals between those tweets. From this I&amp;#39;m concluding &amp;mdash; but I&amp;#39;m not suprised by this &amp;mdash; that sentiment trends. The real factor will be the cross-correlation function between net sentiment and market returns. That&amp;#39;s going to require more data before we can examine it properly.
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;img src="http://blog.gillerinvestments.com/image.axd?picture=2012%2f5%2fProperties+of+Sentiment+Estimates.jpg" alt="" width="600" /&gt;
&lt;/p&gt;
</description>
      <link>http://blog.gillerinvestments.com/post/2012/05/17/Crude-Exposition-of-the-Properties-of-Sentiment-Inferred-from-Twitter.aspx</link>
      <author>blog.nospam@nospam.gillerinvestments.com (Graham)</author>
      <comments>http://blog.gillerinvestments.com/post/2012/05/17/Crude-Exposition-of-the-Properties-of-Sentiment-Inferred-from-Twitter.aspx#comment</comments>
      <guid>http://blog.gillerinvestments.com/post.aspx?id=af7bfa84-4503-4ff2-8603-6ea02387a79a</guid>
      <pubDate>Thu, 17 May 2012 22:31:00 -0400</pubDate>
      <category>Empirical</category>
      <category>Internet</category>
      <dc:publisher>Graham</dc:publisher>
      <pingback:server>http://blog.gillerinvestments.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.gillerinvestments.com/post.aspx?id=af7bfa84-4503-4ff2-8603-6ea02387a79a</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.gillerinvestments.com/trackback.axd?id=af7bfa84-4503-4ff2-8603-6ea02387a79a</trackback:ping>
      <wfw:comment>http://blog.gillerinvestments.com/post/2012/05/17/Crude-Exposition-of-the-Properties-of-Sentiment-Inferred-from-Twitter.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.gillerinvestments.com/syndication.axd?post=af7bfa84-4503-4ff2-8603-6ea02387a79a</wfw:commentRss>
    </item>
    <item>
      <title>First Classification of S&amp;P 400 Tweets</title>
      <description>&lt;p&gt;
Hand classified into the set {Bullish, Bearish, Unknown}. This is to build a training set for a classifier (so I don&amp;#39;t have to hand classify the millions that are streaming in). Here&amp;#39;s an interesting chart of accumulated net sentiment:
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;img src="http://blog.gillerinvestments.com/image.axd?picture=2012%2f5%2fAccumulated+Sentiment+Indicator.jpg" alt="" width="600" /&gt;
&lt;/p&gt;
</description>
      <link>http://blog.gillerinvestments.com/post/2012/05/15/First-Classification-of-SP-400-Tweets.aspx</link>
      <author>blog.nospam@nospam.gillerinvestments.com (Graham)</author>
      <comments>http://blog.gillerinvestments.com/post/2012/05/15/First-Classification-of-SP-400-Tweets.aspx#comment</comments>
      <guid>http://blog.gillerinvestments.com/post.aspx?id=fdd75260-478e-4682-aff4-e90a71be6ac5</guid>
      <pubDate>Tue, 15 May 2012 21:31:00 -0400</pubDate>
      <category>Empirical</category>
      <category>Internet</category>
      <dc:publisher>Graham</dc:publisher>
      <pingback:server>http://blog.gillerinvestments.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.gillerinvestments.com/post.aspx?id=fdd75260-478e-4682-aff4-e90a71be6ac5</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.gillerinvestments.com/trackback.axd?id=fdd75260-478e-4682-aff4-e90a71be6ac5</trackback:ping>
      <wfw:comment>http://blog.gillerinvestments.com/post/2012/05/15/First-Classification-of-SP-400-Tweets.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.gillerinvestments.com/syndication.axd?post=fdd75260-478e-4682-aff4-e90a71be6ac5</wfw:commentRss>
    </item>
  </channel>
</rss>