<?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>Nestor Sulikowski &#187; SAMOA</title>
	<atom:link href="http://nestorsulikowski.com/index.php/tag/samoa/feed/" rel="self" type="application/rss+xml" />
	<link>http://nestorsulikowski.com</link>
	<description>Blog</description>
	<lastBuildDate>Mon, 23 Aug 2010 00:13:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Generic Series</title>
		<link>http://nestorsulikowski.com/index.php/2009/05/generic-series/</link>
		<comments>http://nestorsulikowski.com/index.php/2009/05/generic-series/#comments</comments>
		<pubDate>Tue, 12 May 2009 00:41:16 +0000</pubDate>
		<dc:creator>nestor</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[GenericSeries]]></category>
		<category><![CDATA[PL]]></category>
		<category><![CDATA[SAMOA]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://nestorsulikowski.com/index.php/2009/05/generic-series/</guid>
		<description><![CDATA[Some financial instruments, like futures and bonds, need to be rolled when approaching the expiration/maturity date. This calls for special considerations: The rolls can cause jumps in the prices, that need to be adjusted when using historical data (typically, accumulated forward or backward adjustments). If a position is held through a rolling date, it is [...]]]></description>
			<content:encoded><![CDATA[<p>Some financial instruments, like futures and bonds, need to be rolled when approaching the expiration/maturity date. This calls for special considerations:</p>
<ol>
<li>The rolls can cause jumps in the prices, that need to be adjusted when using historical data (typically, accumulated forward or backward adjustments). </li>
<li>If a position is held through a rolling date, it is necessary to book a roll at the prevailing spread. </li>
<li>There can be more than one criterion of choosing the rolling time and the security to roll into (at a specified date, by open interest, etc). </li>
<li>These operations require extra historical information, like contract specifications (first notice date, last trading date, etc), historical open interests, auction dates, rolling spreads, etc </li>
</ol>
<p>SAMOA can handle all these aspects using the concept of <strong>Generic Series</strong>. A generic series is a synthetic instrument that gets automatically adjusted and rolled.</p>

<p>NOTE: To make the discussion more concrete, I’ll show examples around two generic series: the <strong>TY</strong> future, and the <strong>10Y</strong> US Treasury Note.</p>
<h3>Historical dates</h3>
<p>Each generic series has a table of contracts (or bonds) with some important dates. For instance:</p>
<p><u>TY FUTURE</u></p>
<ul>
<li>List of contracts: </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:0bb23480-1c79-4aea-98ed-be043ff7fbcc" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select top 5 * from Contracts where Market='TY' order by LastTrade desc </pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image130.png" width="666" height="94" />&#160; </p>
<p><u></u></p>
<p><u>10Y NOTE</u> </p>
<ul>
<li>Auctions: </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:50759465-bf2c-4cf0-89f0-8330c8c1ab18" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select top 8 Sector, AuctionDate, IssueDate, Maturity, Code from Auctions where Sector='10y' order by AuctionDate desc </pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image810.png" width="551" height="165" />&#160;</p>
<h3>Rolling methods</h3>
<p>There usually are several ways of choosing how to roll a security. SAMOA has some pre-programmed methods for rolling, although custom rolls can also be created.</p>
<p>Pre-defined rolling methods for futures:</p>
<ol>
<li><strong>OI</strong>: Roll when the Open Interest (OI) of a back contract surpasses the OI of the front contract. This method could perfectly skip a contract if its OI is not higher than a neighboring contracts. This situation happens often in commodity futures.&#160; <br /><a href="http://nestorsulikowski.com/wp-content/uploads/2009/05/image35.png"><img style="border-right-width: 0px; margin: 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/05/image-thumb13.png" width="597" height="301" /></a> </li>
<li><strong>OI1MNoSkip</strong>: Same as OI, but no skipping is allowed. Each contract has to become front contract for at least 1 month before switching to the next one. </li>
<li><strong>OI2MNoSkip</strong>: Same as OI1MNoSkip, but using a 2 month window. </li>
<li><strong>FirstNotice</strong>: The switch always happens the day before the First Notice date, and no contract can be skipped. </li>
</ol>
<p>Pre-defined rolling methods for bills / notes and bonds:</p>
<ol>
<li><strong>IssueDate</strong>: It always rolls on the issue date. </li>
<li><strong>Auction+1</strong>: It always rolls the day after the auction. </li>
</ol>
<p>Examples of custom rolls:</p>
<ol>
<li><strong>DTRolls</strong>: This custom futures’ roll was created to mimic the rolling dates used by one particular provider of tick data, which only collected data for what they considered the front contract. </li>
<li><strong>DT-FirstNotice</strong>: a merge between DTRolls and FirstNotice. </li>
<li><strong>DT-OI</strong>: a merge between DTRolls and OI. </li>
<li><strong>DT-OI1MNoSkip</strong>: a merge between DTRolls and OI1MNoSkip.
<p>&#160; </li>
</ol>
<h3>Table “GenericSeries”</h3>
<p>All the generic series are defined in the table <strong>GenericSeries</strong>. This table consists of a list of (Date, Code) pairs, where “Code” is the id of a security. The remaining fields are just used to partition the data.</p>
<p><u>TY FUTURE</u> </p>
<ul>
<li>Front contracts using the method DT-OI1MNoSkip: </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:c58fd5eb-d39a-4ba4-9ac0-bdc0d8c7a6b6" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select top 10 Today, Code from GenericSeries where InstrumentType='TYFut' and Generic='Front' and Method='DT-OI1MNoSkip' and Today&gt;'1982-05-24' order by today</pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image161111.png" width="216" height="222" /></p>
<p></font></p>
<p><u>10Y NOTE</u> </p>
<ul>
<li>List of old tens, switching by the method “Auction+1”: </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:366a31cf-6d87-4001-94ff-a8ee240b50ee" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select top 10 Today, Code from GenericSeries where InstrumentType='10y' and generic='1o10Y' and Method='Auction+1' and Today&gt;'2009-02-09' order by today</pre>
</div>
<p><a href="http://nestorsulikowski.com/wp-content/uploads/2009/07/image221.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image221-thumb.png" width="254" height="195" /></a> </p>
<p>NOTE: on 2009-02-12 the old 10Y switched from the “T 4 09/15/2018” to the “T 3.75 11/15/2018”. </p>
<p></font></p>
<h3>Calculating rolls</h3>
<p>Once a generic series is defined in the table “GenericSeries”, a whole list of calculations happen automatically. For instance the rolling spreads and the forward and backward adjustments.</p>
<p><u>TY FUTURE</u> </p>
<ul>
<li>Rolling spreads: </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:f352c404-5c0e-4e96-95ae-f86a11e350a1" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select top 5 * from dbo.ssGetGenericSwitches('Front', 'TYFut', 'DT-OI1MNoSkip' ) order by lastdate </pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image361.png" width="675" height="107" /></p>
<p><u>10Y NOTE</u></p>
<ul>
<li>Rolling spreads: </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:bcdc4974-f4a5-406b-8335-256a305ded6f" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select top 5 * from dbo.ssGetGenericSwitches('10Y', '10Y', 'IssueDate' ) order by lastdate </pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image1111.png" width="871" height="106" /> </p>
<h3>Examples of functions for Generic Series</h3>
<p><u>TY FUTURE</u></p>
<ul>
<li>Was the H00 the front contract on 2000-02-20?: </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:c641ed38-95e2-4b34-8c25-5c821390723b" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select dbo.ssCodeToGeneric('H00', '2000-02-20', 'OI1MNoSkip', 'USFut') as 'USH00 on 2000-02-20 (by OI1MNoSkip)' </pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image711.png" width="240" height="39" /></p>
<ul>
<li>Give me the front contract for TY on 2008-05-28): </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:4b83c0b5-cd00-48ed-ac53-2227de636cea" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select dbo.ssToFrontContract('TY', '2008-05-28', NULL) as 'ssToFrontContract'</pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image161.png" width="138" height="40" /></p>
<ul>
<li>Get the previous and the next contract for U80: </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:4d639376-344a-46c3-888c-942df6d6b5f9" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">declare @code nvarchar(50) = 'U80' ;
select @code as 'Code', dbo.ssNextGenericCode(@code, 'Front', 'USFut', null, 1) as 'Next'
select @code as 'Code', dbo.ssNextGenericCode(@code, 'Front', 'USFut', null, 0) as 'Previous'</pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image251.png" width="135" height="85" /> </p>
<p><u>10Y NOTE</u></p>
<ul>
<li>Was ‘T 6.25 02/15/2003’ on-the-run 10Y on 7/12/1993?: </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:db217191-81d4-4f7f-ae27-3d1cd9fa3707" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select dbo.ssCodeToGeneric('T 6.25 02/15/2003', '7/12/1993', 'Auction+1','10Y') as 'T 4.5 11/15/2015 on 7/12/1993 (by Auction+1)' </pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image1110.png" width="254" height="37" /></p>
<ul>
<li>Was next bond to the single old 10Y is the double old 10Y: </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:051b2fc0-72fd-4ed4-946e-739293fd0c5a" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select dbo.ssTsyNextGeneric('1o10Y', 1) as 'ssTsyNextGeneric' </pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image29-thumb4.png" width="138" height="39" /></p>
<ul>
<li><font color="#000000"><font size="2">The next bond to the single old 10Y is the double old 10Y: </font></font></li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:7a48695f-4752-4aaf-9446-b91a1a71f323" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select dbo.ssTsyNextGeneric('1o10Y', 1) as 'ssTsyNextGeneric' </pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image296.png" width="138" height="39" />&#160; </p>
<ul>
<li>The previous bond to the single old 10Y is the on-the-run 10Y: </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:442a03a6-2430-4b79-b46a-a83b693fe142" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select dbo.ssTsyNextGeneric('1o10Y', 0) as 'ssTsyNextGeneric' </pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image331.png" width="137" height="41" /></p>
<h3>P&amp;L calculations</h3>
<p>SAMOA knows how to adjust P&amp;L calculations with the rolls when using Generic Series. Let’s look at an example.</p>
<p><u><font size="2">TY FUTURE</font></u></p>
<p>Let’s say that on <strong>2007-11-25</strong> you buy <strong>10</strong> contracts of <strong>TY</strong> at <strong>114.01</strong>, and you sell them on <strong>2008-06-01</strong> at <strong>112.16+</strong> (prices in 32nds). In summary:</p>
<ul>
<li>Initial data </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:5681975e-20de-4ce3-a054-65b91b3beb56" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">declare @t0 datetime = '2007-11-25 08:45:00';
declare @p0 decimal(18,5) = dbo.ssDisplayToPrice('114.01', 32, 0);
declare @t1 datetime = '2008-06-01 00:00:00';
declare @p1 decimal(18,5) = dbo.ssDisplayToPrice('112.164', 32, 0);
select @t0 as '@t0', dbo.ssToFrontContract('TY', @t0, null) as '@c0', dbo.ssPriceToDisplay(@p0, 32, 0) as '@p0'
union all
select @t1 as '@t1', dbo.ssToFrontContract('TY', @t1, null) as '@c1', dbo.ssPriceToDisplay(@p1, 32, 0) as '@p1';</pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image1112.png" width="240" height="53" /></p>
<p>As you can see, on <strong>2007-11-25</strong> the front contract for TY was <strong>TYZ07</strong>, while on <strong>2008-06-01</strong> the front contract was <strong>TYU08</strong>. Obviously there are rolls involved by holding this position. </p>
<ul>
<li>Let’s see those rolls: </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:b19c9385-1c69-4acc-a434-b99e9dc8176e" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select top 3 Code, LastDate, dbo.ssPriceToDisplay(CloseF, 32, 0) as CloseF, dbo.ssPriceToDisplay(CloseB, 32, 0) as CloseB, NextCode from dbo.ssGetGenericSwitches('Front', 'TYFut', 'DT-OI1MNoSkip' ) where LastDate &gt;= '2007-11-25' order by lastdate </pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image511.png" width="356" height="73" /></p>
<p>With all this input data, we can calculate the final P&amp;L of this trade. </p>
<ul>
<li>
<p><u>Method 1</u>: Using the function <strong>ssPLInfo_PL</strong> and manual rolls. </p>
<p><font size="2">The function <strong>ssPLInfo_PL( instrument, q, p0, p1)</strong> calculates the P&amp;L of a trade that buys <strong>q</strong> of <strong>instrument</strong> at <strong>p0</strong> and sells it at <strong>p1</strong>. It knows how to calculate the value of a point for different instruments. </font><font size="2">Therefore, using the rolls information from the previous table, the final P&amp;L would be:</font></p>
</li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:c7594f79-ab73-4818-a869-a6c3280b23d4" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select dbo.ssPLInfo_PL('TYZ07', 10, @p0, 114) + dbo.ssPLInfo_PL('TYH08', 10, 113.265625, 117.140625) + dbo.ssPLInfo_PL('TYM08', 10, 115.765625, 113.703125) + dbo.ssPLInfo_PL('TYU08', 10, 112.15625, @p1) as 'ssPLInfo_PL + Manual Rolls' </pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image191.png" width="194" height="44" /></p>
<p>We can see that we made $21,406.3 </p>
<ul>
<li><u>Method 2</u>: Manual calculation using the function <strong>ssPLInfo_ToAdjusted</strong>.
<p>If we don’t want to deal with rolls, we can adjust p0 and p1 by the rolls using the function <strong>ssPLInfo_ToAdjusted(instrument, @t0, @p0 )</strong>, and calculate the P&amp;L manually: </li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:7faf23ad-867d-469b-98b4-3ff0a3456175" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select 10 * dbo.ssPLInfo_ValuePt('TY') * (dbo.ssPLInfo_ToAdjusted('TY', @t1, @p1) - dbo.ssPLInfo_ToAdjusted('TY', @t0, @p0 ) ) as 'Manual + ssPLInfo_ToAdjusted' </pre>
</div>
<p><font color="#0000ff" size="2"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image131.png" width="201" height="41" />&#160;</font></p>
<ul>
<li>
<p><u>Method 3</u>: Using the function <strong>ssPLInfo_PL<br />
        <br /></strong>The function ssPLInfo_PL(instrument, q, p0, p1, t0, t1) will automatically make the roll adjustments for us:</p>
</li>
</ul>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:268a9503-b966-4e2c-b8ec-ed249616fddc" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">select dbo.ssPLInfo_PL('TY', 10, @p0, @p1, @t0, @t1) as 'ssPLInfo_PL' </pre>
</div>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image1611.png" width="194" height="44" /></p>
]]></content:encoded>
			<wfw:commentRss>http://nestorsulikowski.com/index.php/2009/05/generic-series/feed/</wfw:commentRss>
		<slash:comments>1174</slash:comments>
		</item>
		<item>
		<title>What is SAMOA</title>
		<link>http://nestorsulikowski.com/index.php/2009/05/what-is-samoa/</link>
		<comments>http://nestorsulikowski.com/index.php/2009/05/what-is-samoa/#comments</comments>
		<pubDate>Sat, 09 May 2009 23:58:04 +0000</pubDate>
		<dc:creator>nestor</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[Concepts]]></category>
		<category><![CDATA[SAMOA]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://nestorsulikowski.com/?p=48</guid>
		<description><![CDATA[SAMOA is a platform for back-testing trading ideas. It consists of several parts: a comprehensive financial database&#160; a powerful set of analytics a simulation infrastructure to back-test the trading ideas and a booking system to capture the historical trades produced by the simulation and generate performance reports. The&#160; system is divided into two tiers: SAMOA [...]]]></description>
			<content:encoded><![CDATA[<p><strong>SAMOA</strong> is a platform for back-testing trading ideas. It consists of several parts:</p>
<p><img style="border-bottom: 0px; border-left: 0px; margin: 5px; display: inline; border-top: 0px; border-right: 0px" title="imgServerClients" border="0" alt="imgServerClients" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/imgserverclients.jpg" width="591" height="212" /> </p>
<ol>
<li>a comprehensive financial <strong>database</strong>&#160; </li>
<li>a powerful set of <strong>analytics</strong> </li>
<li>a <strong>simulation infrastructure</strong> to back-test the trading ideas </li>
<li>and a <strong>booking system</strong> to capture the historical trades produced by the simulation and generate performance reports. </li>
</ol>
<p>The&#160; system is divided into two tiers:</p>
<ol>
<li><strong>SAMOA server</strong>: which handles the data and all the computations. </li>
<li><strong>SAMOA client</strong>: a very thin layer that can send tasks to the server and retrieve results. SAMOA provides an out-of-box utility called <strong>SeriesQueriesBuilder</strong> that can be used as the client if you prefer a point-and-click interface to the server. </li>
</ol>
<p>This two-tier architecture makes it ideal for single users (which would have the client and the server in the same machine), as well as for teams working together and sharing results through a common server. This architecture is also suitable for exposing SAMOA as a cloud service (perhaps in a near future…)</p>
<p><img style="border-bottom: 0px; border-left: 0px; margin: 10px 0px 0px 20px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image510.png" width="409" height="407" />     </p>
<p>&#160;<img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 0px 15px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://nestorsulikowski.com/wp-content/uploads/2009/07/image134.png" width="615" height="320" /></p>
]]></content:encoded>
			<wfw:commentRss>http://nestorsulikowski.com/index.php/2009/05/what-is-samoa/feed/</wfw:commentRss>
		<slash:comments>77</slash:comments>
		</item>
	</channel>
</rss>

