<?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>Σ1</title> <atom:link href="http://sigma1.com/feed/" rel="self" type="application/rss+xml" /><link>http://sigma1.com</link> <description>Musings of a proprietary-trading group fund manager.</description> <lastBuildDate>Tue, 17 Apr 2012 01:30:24 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Green Software for Finance</title><link>http://sigma1.com/2012/04/16/green-software-for-finance/</link> <comments>http://sigma1.com/2012/04/16/green-software-for-finance/#comments</comments> <pubDate>Tue, 17 Apr 2012 01:30:24 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Financial Analysis Software]]></category> <category><![CDATA[green software]]></category> <category><![CDATA[quantitative analysis software]]></category> <category><![CDATA[software]]></category><guid isPermaLink="false">http://sigma1.com/?p=777</guid> <description><![CDATA[When I Google for &#8220;green software&#8221; top searches are about software that helps other activities become greener, such as utility power optimization or HVAC optimization.  This makes sense because &#8220;smart power&#8221; has a bigger footprint than compute power consumption.  Other search results focus on green IT (information technology). I would like to contribute to the [...]]]></description> <content:encoded><![CDATA[<p>When I Google for &#8220;green software&#8221; top searches are about software that helps other activities become greener, such as utility power optimization or HVAC optimization.  This makes sense because &#8220;smart power&#8221; has a bigger footprint than compute power consumption.  Other search results focus on green IT (information technology).</p><p>I would like to contribute to the dialog about <strong>green software</strong> itself.  My definition of green technologies (green software, green hardware) is technology that consumes less power while producing comparable or better results.  My introduction to green technology began with power-efficient hardware design 7 years ago.  I learned that power savings equals performance improvement due to thermodynamic and other considerations.  This mantra (less power equals more performance) is gradually transforming semiconductor design.  Technology companies that understand this best (Intel, ARM, Samsung, Google) stand to benefit in the years ahead.</p><p>In general, for every watt of power consumed by compute hardware,<a title="Data center power" href="http://www.apcmedia.com/salestools/VAVR-5TDTEF_R1_EN.pdf" target="_blank"> a watt or more</a> of building cooling power is required.  Software&#8217;s true power consumption is about 2 times that of the compute power it consumes.  Compute power includes system power (CPU, RAM, driver, peripherals, and power supply losses) plus power for networking (routers, switches, etc) plus other power consumers like network-attached storage.</p><p>Some of the electrical engineering compute jobs I run take a week running 24&#215;7 to complete, and often run on multiple CPUs and on multiple computers.  Each compute job easily consumes an average of 1 Kilowatt of compute power, hence an average of 2 KW of data center power. This works out to about 335 KW*h per run.  This is about $33 worth of power and is enough to power the average home&#8217;s electric needs (not counting heating and cooling) for about 8 days.</p><p>Right now the &#8220;greenness&#8221; of software is a relative.  Today the software development world doesn&#8217;t have the right models to compare whether, say, particular database software is more or less green than particular financial software.  Software and IT professionals can, however, assess whether one specific portfolio optimization solution is more or less green than another.</p><p>Creating green software begins with asking the right questions.  The fundamental questions are &#8220;How much power does our software consume, and how can we reduce it?&#8221;  I started to ask myself these questions early in the development stage of HAL0 financial software.  I realized that the software running fairly large computations on the same data over and over again.  Computations like the 3-year volatility of an asset.  I created a simple software cache mechanism that first checked if <strong>the exact complex computation</strong> had been performed before.  If it had the cache simply returned the previous result.  If not the computation was performed and the result was saved in the cache.  The result was a 3X speed up and an approximately 3x improvement in performance per watt for the HAL0 portfolio-optimization software.  The mantra that &#8220;power saved is performance gained&#8221; is even more true in the world of software.</p><p>In other words, green software design practices and focusing on faster software often lead to the same types of software improvement.  The thought process to arrive at software improvement can be different enough to give software developers new perspectives on their algorithms and code.  I found that some solutions that eluded me while looking for performance-enhancement (speed ups) were easily discover by thinking about power and resource inefficiencies.  Similarly some software improvement that came quickly from profiling performance data would have been unlikely to occur to me when thinking about green software methods; it is only in retrospect that I saw their performance per watt benefit.  The concept of &#8220;green software&#8221; is complimentary with other software concepts such lightweight software, rapid prototyping, and time-complexity analysis and optimization.</p><p>HAL0 portfolio-optimization software is designed to be green.  It is designed to get more done with less power consumption.  Like all other green software, greener means faster.  Some of HAL0 speedups have come from thinking green, and other haves come from &#8220;thinking fast.&#8221;  The speed and efficiency of HAL0&#8242;s core engine is high, but I already envision further improvements of 5 to 10X.  It is simply a question of time to implement them.</p><p>&nbsp;</p> ]]></content:encoded> <wfw:commentRss>http://sigma1.com/2012/04/16/green-software-for-finance/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Greener Software is Better Software</title><link>http://sigma1.com/2012/04/07/greener-software-is-better-software/</link> <comments>http://sigma1.com/2012/04/07/greener-software-is-better-software/#comments</comments> <pubDate>Sun, 08 Apr 2012 03:15:20 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Financial Analysis Software]]></category> <category><![CDATA[Quants]]></category> <category><![CDATA[wealth management]]></category> <category><![CDATA[angel investment]]></category> <category><![CDATA[portfolio analysis]]></category> <category><![CDATA[portfolio optimization]]></category> <category><![CDATA[quantitative analysis]]></category> <category><![CDATA[quantitative analysis software]]></category> <category><![CDATA[quantitative finance]]></category><guid isPermaLink="false">http://sigma1.com/?p=726</guid> <description><![CDATA[Faster Software is Greener Software Simply put, when one software product is more efficient than another, it runs faster and takes less time to solve the same problem.  The less time software takes to run, the less power is consumed. By way of illustration, consider the efficiency of a steam ship going from New York [...]]]></description> <content:encoded><![CDATA[<div id="attachment_731" class="wp-caption alignright" style="width: 410px"><a href="http://sigma1.com/wp-content/uploads/2012/04/CPU_and_RAM_load.png"><img class="size-full wp-image-731" title="CPU_and_RAM_load" src="http://sigma1.com/wp-content/uploads/2012/04/CPU_and_RAM_load.png" alt="CPU Load and Green Software" width="400" height="425" /></a><p class="wp-caption-text">CPU Load Correlates with Power Consumption</p></div><h3>Faster Software is Greener Software</h3><p>Simply put, when one software product is more efficient than another, it runs faster and takes less time to solve the same problem.  The less time software takes to run, the less power is consumed.</p><p>By way of illustration, consider the efficiency of a steam ship going from New York to San Fransisco before and after the <a title="Panama Canal travel efficiency improvement" href="http://xroads.virginia.edu/~ma03/holmgren/ppie/pc.html" target="_blank">Panama Canal</a> was built.  The canal was a technological marvel of its time, and it cut the journey distance from 13,000 miles to 5,000.  It cut travel time by (more than) half, and reduced the journey&#8217;s coal consumption by 50%.  The same work was performed, with the same &#8220;hardware&#8221; (the steamer), but in just 30 days rather than 60, and using half the fuel.</p><p>Faster run time is the most significant and most visible component of green software, but it is not the only significant factor.  Other factors affecting how much power software consumes include:</p><ul><li>Cache miss rate</li><li>Streamlined versus bloated, <a title="Crufty definition -- cruft is not green" href="http://nicedefinition.com/Definition/Word/crufty/crufty.aspx" target="_blank">crufty</a> software</li><li>Use of best-suited hardware resources</li><li>Algorithm scalability</li></ul><p>Without getting too technical, I&#8217;ll briefly touch on each bullet point.  A cache hit is when a CPU finds the information it needs in its internal cache memory, while a cache miss is when the CPU must send an off-chip request to the computer&#8217;s RAM to get the required data.  A cache miss is about 100x slower than a cache hit, in part because the data has to travel about 10cm for a cache miss, versus about 5mm for a cache hit.  The difference in power consumption between a cache hit and a cache miss easily be 20x to 100X, or more.</p><p>Most software starts out reasonably streamlined.  Later, if the software is popular, comes a time when enhancement requests and bug reports come in faster than developers can implement them in a streamlined manner.  Consequently many developers implement quick but inefficient fixes.  Often this behavior is encouraged by managers trying to hit aggressive schedule commitments.  The developers have intentions to come back and improve the code, but frequently their workload doesn&#8217;t permit that.  After a while developers forget where the software &#8220;kludges&#8221; or hack are.  Even worse, the initial developers either get reassigned to other projects or leave for other jobs.  The new software developers are challenged learn the unfamiliar code and implement fixes and enhancements &#8212; adding their own cruft.   This is how crufty, bloated software emerges:  overworked developers, focused on schedule over software efficiency, and developer turnover.</p><p>Modern CPUs have specialized instructions and hardware for different compute operations.  One example is Intel <a title="Computational Streaming SIMD Extensions" href="https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions" target="_blank">SSE technology</a> which features a variety of Single-Instruction, Multiple-Data (SIMD) extensions.  For example, SSE4 (and AVX) can add 4 or more pairs of numbers (2 4-number vectors) in one operation, rather than 4 separate ADD operations.  This reduces CPU instruction traffic and saves power and time.</p><p>Finally <em>algorithm scalability</em> is increasingly important to modern computing and compute efficiency.  Scalability has many meanings, but I will focus on the ability of software to use multiple compute resources in parallel.  [Also known as parallel computing.]   Unfortunately most software in use today has limited or no compute-resource scalability.  This means that this software can only use 1 core of a modern 4-core CPU.  In contrast, linearly-scalable software could run 3x faster by using 3 of the 4 cores at full speed.  Even better, it could run 3x faster on 4 cores running at 75% speed, and consume about 30% less power.  [I'll spare you the math, but if you are curious <a title="Dynamic Frequency Scaling (CPU, Power)" href="https://en.wikipedia.org/wiki/Dynamic_frequency_scaling" target="_blank">this link</a> will get you started.]</p><h3>&#8220;Distributed Software&#8221; is Greener</h3><p>Distributed computing is technology that allows compute jobs to be distributed into the &#8220;cloud&#8221; or data center queue.  Rather than having desktop workstations sitting idle much of the day, a data center is a room full of computers that direct compute jobs to the least busy computers.  Jobs can be directed to the computers best-suited to a particular compute request. Intelligent data centers can even put unused computers into &#8220;deep sleep&#8221; mode that uses very little power.</p><p>I use the term <em>distributed software</em> to mean software that is easily integrated with a job-submission or queuing software infrastructure.  [Short for distributed-computing-capable software.]  Clearly distributed software benefits directly from the efficiencies of a given data center.  Distributed software can also benefit from the ability to run in parallel on multiple machines.  The more tightly-coupled with the capabilities and status of the data center, the more efficiently distributed software can adapt to dynamic changes.</p><h3>Sigma1 Software is Green</h3><p>Sigma1 financial software (code-named HAL0) has been designed from the ground up to be lean and green.  First and foremost, HAL0 (code-named in honor of Arthur C. Clarke&#8217;s HAL 9000 &#8212; <a title="HAL 9000  (Heuristic ALgorithm[ic])" href="https://en.wikipedia.org/wiki/HAL_9000" target="_blank">&#8220;H-A-L is derived from <em>H</em>euristic <em>AL</em>gorithmic (computer)&#8221;</a>) is architected to scale near-linearly to tens or hundreds of cores, &#8220;sockets&#8221;, or distributed machines.  Second, the central kernel or engine is designed to be as light-weight and streamlined as possible &#8212; helping to reduce expensive cache misses.  Third, HAL0 uses Heuristic Algorithms and other &#8220;AI&#8221; features to efficiently navigate astronomically-large search spaces (10^18 and higher).  Fourth, HAL0 uses an innovative computation cache system that allows repeated complex computations to be looked up in the cache, rather than recomputed.  In alpha testing, this feature alone accounted for a 3X run-time improvement.  Finally, HAL0 portfolio software incorporates a number of more modest run-time and power-saving features such as coding vector operations explicitly as vector operations, thus allowing easier use of SIMD and possibly <a title="GPGPU" href="https://en.wikipedia.org/wiki/GPGPU" target="_blank">GPGPU</a> instructions and hardware.</p><p>Some financial planners still use Microsoft Excel to construct and optimize portfolios.  This is slow and inefficient &#8212; to say the least.  Other portfolio software I have read about is an improvement over Excel, but doesn&#8217;t mention scalability nor heuristic algorithms.  It is possible, perhaps likely, that other financial software with some the capabilities of HAL0 exists.  I suspect, however, that if it does, it is proprietary, in-house software that is not for sale.</p><h3>A Plea for Better, Greener Software</h3><p>In closing, I&#8217;d like the software community to consider how the efficiency (or inefficiency) of their current software products contribute to world-wide power consumption.  Computer hardware has made tremendous strides to improving performance/power in the last ten years, and continues to do so.   IT and data-center technology is also becoming more power efficient.  Unfortunately, <strong>most</strong> software has been trending in the opposite direction &#8212; becoming more bloated and less efficient.  I urge software developers and software managers to consider the impact of the software they are developing.  I challenge you to consider, probably for the first time, how many kilowatt- or megawatt-hours your current software is likely to consume.  Then ask yourself, &#8220;How can I reduce that power?&#8221;</p> ]]></content:encoded> <wfw:commentRss>http://sigma1.com/2012/04/07/greener-software-is-better-software/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Seeking a Well-Matched Angel Investor (Part I)</title><link>http://sigma1.com/2012/03/21/seeking-a-well-matched-angel-investor-part-i/</link> <comments>http://sigma1.com/2012/03/21/seeking-a-well-matched-angel-investor-part-i/#comments</comments> <pubDate>Thu, 22 Mar 2012 06:10:12 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Financial Analysis Software]]></category> <category><![CDATA[Accredited Investors]]></category> <category><![CDATA[angel investment]]></category> <category><![CDATA[portfolio analysis]]></category> <category><![CDATA[portfolio optimization]]></category> <category><![CDATA[private-equity]]></category> <category><![CDATA[quantitative analysis software]]></category> <category><![CDATA[risk]]></category> <category><![CDATA[risk models]]></category><guid isPermaLink="false">http://sigma1.com/?p=668</guid> <description><![CDATA[Most of the reading I have done regarding angel investing suggests that finding the right &#8220;match&#8221; is a critical part of the process.  This process is not just about a business plan and a product, it is also about people and personalities. Let me attempt to give some insight into my entrepreneurial personality.  I have been working [...]]]></description> <content:encoded><![CDATA[<p>Most of the reading I have done regarding angel investing suggests that finding the right &#8220;match&#8221; is a critical part of the process.  This process is not just about a <a title="Sigma1 Financial Software Business Plan" href="http://sigma1.com/2012/03/10/drafting-a-business-plan/" target="_blank">business plan</a> and a <a title="Sigma1 Portfolio-Optimization Software" href="http://sigma1.com/2012/03/05/new-perspectives-on-portfolio-optimization/" target="_blank">product</a>, it is also about people and personalities.</p><p>Let me attempt to give some insight into my entrepreneurial personality.  I have been working (and continue to work) in a corporate environment for 15 years. Over that time I have received a lot of feedback.  Two common themes emerge from that feedback.  1)  I tend to be a bit too &#8220;technical&#8221;.  2)  I tend to invest more effort on work that I like.</p><h4>Long Story about my Tech Career</h4><p>Since I work in the <em>tech</em> industry, being<em> too technical</em> at first didn&#8217;t sound like something I should work on.  I eventually came to understand that this wasn&#8217;t feedback from my peers, but from managers.   Tech moves so fast that many managers simply do not keep up with these changes except in the most superficial ways.  (Please note I say many, not most).  While <em>being technical</em> is my natural tendency, I have learned to adjust the technical content to suite the  composition of the meeting room.</p><p>The second theme has been a harder personal challenge.  Two general areas I love are technical challenges and collaboration.  I love when there is no &#8220;smartest person in the room&#8221; because everybody is the best at at least one thing, if not many.  When a team like that faces a new critical issue &#8212; never before seen &#8212; magic often occurs.  To me this is not work; it is much closer to play.</p><p>I have seen my industry, VLSI and microprocessor design, evolve and mature.  While everyone is still the &#8220;smartest person in the room&#8221;, the arrival of novel challenges is increasingly rare.   We are increasingly challenged to become masters of execution rather than masters of innovation.</p><p>Backing up a bit, when I started at Hewlett-Packard, straight out of college, I had the best job in the world, or darn near.  For 3-4 months I &#8220;drank from a fire hose&#8221; of knowledge from my mentor.  After just 6 months I was given what, even in retrospect, was tremendous responsibilities (and a nice raise).  I was put in charge of integrating &#8220;logic synthesis&#8221; software into the lab&#8217;s compute infrastructure.  When I started, about 10% of the lab&#8217;s silicon area was created via synthesis; when I left 8 years later about 90% of the lab&#8217;s silicon was created via logic synthesis.  I was part of that transformation, but I wasn&#8217;t the cause &#8212; logic synthesis was simply the next disruptive technology in the industry.</p><p>So why did change companies?  I was developing software to build advanced &#8220;ASICs&#8221;.  First the company moved ASIC manufacturing overseas, then increasingly ASIC hardware design.  The writing was on the wall&#8230; ASIC software development would eventually move.  So I made a very difficult choice and moved into microprocessor software development.  Looking back now, this was the likely the best career choice I have ever made.</p><p>Practically overnight I was again &#8220;drinking from a fire hose.&#8221;   Rather than working with software, my former teammates and I had built from scratch, I was knee-deep in poorly-commented code that been abandoned by all but one of the original developers.  In about 9 months my co-developer and I had transformed this code into something that resembled properly-architected software.</p><p>Again, I saw the winds of change transforming my career environment: this time, microprocessor design.  Software development was moving from locally-integrated hardware/software design labs to a centralized software-design organization.  Seeing this shift, I moved within the company, to microprocessor hardware design.  Three and a half years later I see the pros and cons of this choice.  The largest pro is having about 5 times more opportunities in the industry &#8212; both within the company, and without.  The largest con, for me, is dramatically less software development work.  Hardware design still requires some software work, perhaps, 20-25%.  Much of this software design, however, is very task-specific.  When the task is complete &#8212; perhaps after a week or a month &#8212; it is obsolete.</p><h4>A Passion for Software and Finance</h4><p>While I was working, I spent some time in grad school. I took all the EE classes that related to VLSI and microprocessor design. The most interesting class was an open-ended research project. The project I chose, while related directly to microprocessor design, had a 50/50 mix of software design and circuit/device-physics research. I took over the software design work, and my partner took on most of the other work. The resulting paper was shortened and revised (with the help of our professor and third grad student) and accepted for presentation at the 2005 Society of Industrial and Applied Mathematics (SIAM) Conference in Stockholm, Sweden.  Unfortunately, none of us where able to attend due to conflicting professional commitments.</p><p>Having exhausted all &#8220;interesting&#8221; EE/ECE courses, I started taking grad school courses in finance.  CSU did not yet have a full-fledged MSBA in Financial Risk Management program, but it did offer a Graduate Certificate in Finance, which I earned.  Some research papers of note include &#8220;Above Board Methods of Hedging Company Stock Option Grants&#8221; and &#8220;Building an &#8216;Optimal&#8217; Bond Portfolio including TIPS.&#8221;</p><p>Software development has been an interest of mine since I took a LOGO summer class in 5th grade.  It has been a passion of mine since I taught myself &#8220;C&#8221; in high school.  During my undergrad in EE, I took enough CS electives to earn a Minor in Computer Science along with my BSEE.   Almost all of my elective CS courses centered around algorithms and AI.   Unlike EE, which at times I found very challenging, I found CS courses easy and fun.  That said, I earned straight A&#8217;s in college, grad and undergrad, with one exception: I got a B- in International Marketing.  Go figure.</p><p>My interest in finance started early as well.  I had a paper route at the age of 12, and a bank account.  I learned about compound interest and was hooked.  With help from my Dad, and still 12 years old, I soon had a money market account and long-maturity zero-coupon bond.  My full-fledged passion for finance developed when I was issued my first big grant of company stock options.  I realized I knew quite a bit about stocks, bonds, CD&#8217;s and money market funds, but I knew practically nothing about options.  Learning about options was the primary reason I started studying Finance in grad school.  I was, however, soon to learn about CAPM and MPT, and portfolio construction and optimization.  Since then, trying to build the &#8220;perfect&#8221; portfolio has been a lingering fascination.</p><p>Gradually, I began to see flaws in MPT and the efficient-markets hypothesis (EMH).  Flaws that Markowitz acknowledged from the beginning!  [Amazing what you can learn from going beyond textbooks, and back to <a title="Portfolio Selection" href="http://cowles.econ.yale.edu/P/cm/m16/index.htm" target="_blank">original sources</a>.]   I read in some depth about the rise and demise of Long-Term Capital Management.  I read about high-frequency trading methods and algorithms.  I looked into how options can be integrated into long-term portfolio-building strategies.  And finally, I started researching the ever-evolving field of Post-Modern Portfolio Theory (PMPT.)</p><p>When I finally realized how I could integrate my software development skills, my computer science (AI) background, my graduate EE/ECE work and my financial background into a revolutionary software product, I was thunderstruck. I can and did build the alpha version of this product, HAL0, and it works even better than I expected.  If I can turn this product into a robust business, I can work on what I like, even what I love.  And that passion will be a strength rather than a &#8220;flaw&#8221;.   Send me an angel!</p><p>&nbsp;</p> ]]></content:encoded> <wfw:commentRss>http://sigma1.com/2012/03/21/seeking-a-well-matched-angel-investor-part-i/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Toss your Financial Slide-rule: Beta Computation, MPT, and PMPT</title><link>http://sigma1.com/2012/03/20/toss-your-financial-slide-rule-beta-computation-mpt-and-pmpt/</link> <comments>http://sigma1.com/2012/03/20/toss-your-financial-slide-rule-beta-computation-mpt-and-pmpt/#comments</comments> <pubDate>Wed, 21 Mar 2012 00:12:16 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Fund Benchmarking]]></category> <category><![CDATA[Quants]]></category> <category><![CDATA[portfolio analysis]]></category> <category><![CDATA[quantitative analysis]]></category> <category><![CDATA[risk]]></category> <category><![CDATA[risk models]]></category><guid isPermaLink="false">http://sigma1.com/?p=617</guid> <description><![CDATA[Let me take you back to grad school for a few moments, or perhaps your college undergrad. If you&#8217;ve studied much finance, you&#8217;ve surely studied beta in the context of modern portfolio theory (MPT) and the Capital-Asset Pricing Model (CAPM). If you are a quant like me, you may have been impressed with the elegance [...]]]></description> <content:encoded><![CDATA[<p>Let me take you back to grad school for a few moments, or perhaps your college undergrad. If you&#8217;ve studied much finance, you&#8217;ve surely studied beta in the context of modern portfolio theory (MPT) and the Capital-Asset Pricing Model (CAPM). If you are a quant like me, you may have been impressed with the elegance of the theory. A theory that explains the value and risk of a security, not in isolation, but in the context of markets and portfolios.</p><p><a title="Harry Markowitz" href="https://en.wikipedia.org/wiki/Harry_Markowitz" target="_blank">Markowitz</a>&#8216;s <a title="Portfolio Selection: Efficient DIVERSIFICATION of Investments" href="http://cowles.econ.yale.edu/P/cm/m16/index.htm" target="_blank">MPT book</a>, in the late 50&#8242;s, must have come as a clarion call to some investment managers.  Published ten years prior, Benjamin Graham&#8217;s <em><a title="The Intelligent Investor" href="https://en.wikipedia.org/wiki/The_Intelligent_Investor" target="_blank">The Intelligent Investor</a> </em>was, perhaps, the most definitive book of its time.  Graham&#8217;s book described an intelligent  portfolio as a roughly 50/50 stock/bond mix, where each stock or bond had been selected to provide a &#8220;margin of safety&#8221;.  Graham provided a value-oriented model for <em>security analysis</em>; Markowitz provided the tools for <em>portfolio analysis</em>.  Markowizt&#8217;s concept of  beta added another dimension to security analysis.</p><p>As I explore new frontiers of portfolio modeling and optimization, I like to occasionally survey the history of the evolving landscape of finance.  My survey lead me to put together a spreadsheet to compute β.  Here is <a title="Beta computation spreadsheeet" href="http://sigma1.com/wp-content/uploads/2012/03/pbp_3y_beta_wk.xlsx" target="_blank">the beta-computation spreadsheet</a>.   The Excel spreadsheet uses three different methods to compute β, and they produce nearly identical results.  I used 3 years of weekly adjusted closing-price data for the computations.  R<sup>2</sup> and α (alpha) are also computed.   The &#8220;nearly&#8221; part of identical gives me a bit of pause &#8212; is it simply round off, or are there errors?  Please let me know if you see any.</p><p>An ancient saying goes &#8220;Seek not to <strong>follow</strong> in the footsteps of men of old; <strong>seek what they sought.</strong>&#8221;   The path of &#8220;modern&#8221; portfolio theory leaves behind many footprints, including β and R-squared.  Today, the computation of these numbers is a simple academic exercise.  The fact that these numbers represent <a title="Closed-form solutions" href="https://en.wikipedia.org/wiki/Closed-form_expression">closed-form solutions</a> (CFS) to some important financial questions has an almost irresistible appeal to many quantitative analysts and finance academics.   CFS were just the steps along the path;  the goal was <strong>building better portfolios</strong>.</p><p>Markowitz&#8217;s tools were mathematics, pencils, paper, a slide rule, and books of financial data.  The first handheld digital calculator wasn&#8217;t invented until 1967.  As someone quipped, &#8220;It&#8217;s not like he had a Dell computer on his desk.&#8221;   He used the mathematical tools of statistics developed more than 30 years prior to his birth.  A consequence of his environment is Markowitz&#8217;s (primary) definition of risk:  mean variance.  When first learning about mean-variance optimization (MVO), almost every astute learner eventually asks the perplexing question &#8220;So upside &#8216;risk&#8217; counts the same as the risk of loss?&#8221;  In MTP, the answer is a resounding &#8220;Yes!&#8221;</p><p>The current year is 2012, and most sophisticated investors are still using tools developed during the slide-rule era.  The reason the MVO approach to risk feels wrong is because it simply doesn&#8217;t match the way clients and investors define risk.  Rather than adapt to the clients&#8217; view of risk, most investment advisers, ratings agencies, and money managers ask the client to fill out a &#8220;risk tolerance&#8221; questionnaire that tries to map investor risk models into a handful of MV boxes.</p><p>MPT has been tweaked and incrementally improved by researchers like Sharpe and Fama and French &#8212; to name a few.  But the mathematically convenient MV definition of risk has lingered like a baseball pitcher&#8217;s nagging shoulder injury.  Even if this metaphorical &#8220;injury&#8221; is not career-ending, it can be career-limiting.</p><p>There is a better way, though it has a clunky name:  <strong>Post-Modern Portfolio Theory</strong> (PMPT).  [Clearly most quants and financial researchers are not good marketers... Next-Gen Portfolio Optimization, instead?]   The heart of PMPT can be summed up as &#8220;<strong>minimizing downside risk</strong> as measured by the standard deviation of negative returns.  &#8221;A good overview of PMPT in this <a title=" Post-Modern Portfolio Theory" href="http://www.fcva.net/Documents%20and%20Files/Post-Modern%20Portfolio%20Theory.pdf" target="_blank">Journal of Financial Planning Article</a>.  This quote for that article stands out brilliantly:</p><blockquote><p>Markowitz himself said that &#8220;downside semi-variance&#8221; would build better portfolios than standard deviation. But as Sharpe notes, &#8220;in light of the formidable computational problems&#8230;he bases his analysis on the variance and standard deviation.&#8221;</p></blockquote><p>&#8220;Formidable computational problems&#8221; of 1959 are much less so today.  Financial companies are replete with processing power, data storage and computer networks.  In some cases developing <strong>efficient</strong> software to use certain PMPT concepts is easy, in other cases it can be extremely challenging.   (Please note the emphasis on the word &#8216;efficient&#8217;.   An financial algorithm that takes months to complete is unlikely to be of any practical use.)   The example Excel spreadsheet could easily be modified to compute a PMPT-inspired beta. [Hint:  =IF(C4&gt;0, 0, C4)]</p><p>Are you ready step off the beaten path constructed 50 years ago by wise men with archaic tools?   To step onto the hidden path they might have blazed, if armed with powerful computer technology?  Click the link to start your journey on <a title="Contact Sigma1 Financial Software" href="http://sigma1.com/contact/" target="_blank">the one less traveled by</a>.</p> ]]></content:encoded> <wfw:commentRss>http://sigma1.com/2012/03/20/toss-your-financial-slide-rule-beta-computation-mpt-and-pmpt/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Drafting a Business Plan</title><link>http://sigma1.com/2012/03/10/drafting-a-business-plan/</link> <comments>http://sigma1.com/2012/03/10/drafting-a-business-plan/#comments</comments> <pubDate>Sun, 11 Mar 2012 01:37:01 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Financial Analysis Software]]></category> <category><![CDATA[portfolio optimization]]></category> <category><![CDATA[portfolio strategies]]></category> <category><![CDATA[quantitative analysis software]]></category><guid isPermaLink="false">http://sigma1.com/?p=594</guid> <description><![CDATA[The first business plan I wrote was a basic outline for a small residential real-estate venture.  It detailed the property, the company equity in the property, re-curing expenses, estimated value of the property, competitive rental market data and expected cash flow.  This simple, one-page, business plan helped secure a $10,000 private loan, that has hence [...]]]></description> <content:encoded><![CDATA[<p>The first business plan I wrote was a basic outline for a small residential real-estate venture.  It detailed the property, the company equity in the property, re-curing expenses, estimated value of the property, competitive rental market data and expected cash flow.  This simple, one-page, business plan helped secure a $10,000 private loan, that has hence been repaid.  This business is still operating successfully and profitably.</p><p>Putting together a business plan for a start up is a different matter.  The financials are not there yet, and financial forecasting is at best a guess.  Instead the business plan must focus on  ideas and products that serve to fill a gap in the target market.   It must also demonstrate why this company and this product is well-positioned to fill that market need.   Next, I&#8217;ll strive to write a start up business plan&#8230;</p><h3>Sigma1 Financial: A Business Plan for Revolutionizing Financial Portfolio Software.</h3><p><strong>The Market</strong> &#8211;  Sigma1&#8242;s market analysis reveals a stunning gap in the B2C financial software space.  The exists plenty of portfolio analysis software, but nothing that is truly <strong>portfolio-optimization</strong> software.  I refer the reader to two prime examples:  1) <a title="Quicken Premier 2012 Software" href="http://quicken.intuit.com/personal-finance-software/premier-investment-management.jsp?cid=int_quickenblog" target="_blank">Quicken Premier 2012</a> (R) and 2) <a title="Financial Engines" href="http://corp.financialengines.com/index.html" target="_blank">Financial Engines</a> (R).  Both tools help investors manage and analyze investment portfolios.  They help with tracking asset allocations.  Financial Engines goes further by providing portfolio advice on increasing or decreasing risk level and changing allocations between the following asset classes: cash, bonds, large-cap stocks, mid/small-cap stocks, and international stocks.  In some cases Financial Engines partners with other firms and recommended changes can be implemented automatically.</p><p>Competing products tend to focus on broad market sectors and have little to no support for individual stocks and non-traditional-asset-class ETFs (such as gold ETFs, sector ETFs, convertible securities ETFs).</p><p>Market analysis of the B2B space is more challenging because publicly available product data is scarce.  Nonetheless, in online social media conversations with investment professions, several features of Sigma1 software appear to be unique.  For now market analysis of the B2B space is an ongoing process.</p><p><strong>Core Product(s)</strong> &#8212; The Sigma1 Financial Engine, presently code-named HAL0 (HAL zero), is based, in part, on heuristic modeling, machine learning, and evolutionary algorithms.  HAL0 has gone through rigorous alpha testing and has proven itself to be very robust for alpha code.  Surrounding the HAL0 core are both traditional and proprietary financial heuristic and quantitative investment models.  These models have been transformed into utility functions that plug into the HAL0 optimization engine.  Additionally, there are scripts and add-ons that enable 2-D and 3-D data visualization using standard Open Source tools such as gnuplot.</p><p><strong>Beyond the Products</strong>:</p><p><em>The software developer</em>:  I have been coding and investing since I was ten years old.  In college (undergrad) I earned a degree in Electrical Engineering with a minor in Computer Science, graduating with a 3.97 GPA.  After my undergrad work I developed electrical engineering software for Hewlett Packard, Agilent Technologies, and Intel Corporation.  I lead software development on a 5-person team that created the &#8220;silicon construction&#8221; engine used by 200+ engineers in the R&amp;D lab.</p><p>While working and HP and Intel, I took graduate-level coursework in both Finance and Electrical Engineering.  During that coursework, my partner and I created software that used EA and heuristic methods to quickly solve difficult non-linear engineering problems.  It was years later, that I realized these methods could be adapted to optimize financial portfolios&#8230; using not only classical modern portfolio theory (MPT), but also other methods beyond MPT.</p><p>I also manage a proprietary trading fund within Balhiser LLC and have written over 150 investing articles posted at <a title="Finance and Investing Blog" href="http://balhiser.com" target="_blank">balhiser.com</a>.</p><p><em>Software Infrastructure and Development Model</em>:  There is a crucial difference between undisciplined &#8220;coding&#8221; and real software development.  Both can create software that works in the present moment.  A structured software development model, however, creates <strong>software with a future</strong>.</p><p>Sigma1&#8242;s HAL0 software development environment (SDE) includes a revision control system, software regression tests, unit tests and tailored software testing support  and debug tools.  Some of the regression tests required special effort to work with the (pseudo-random) algorithms used in the software.  Careful use of srand() and rand() calls allows HALo to maintain robust regression testing capability.</p><p>Further, a revision history and log, dates back to day 1 of software development.  It charts what bugs were found and how they were fixed.  It explains what tradeoffs were made and why.  The revision history and comments in the software suggest possible improvements.</p><p>The HALo SDE makes it much easier to add and test both run-time improvements and new features.  And, it would allow other software developers to more quickly come up to speed on the code.  This would allow new developers to collaborate on or even take over HAL0 software development.</p><p><em>Marketing, Branding, Company Structure</em>:   Currently Sigma1 and HALo IP and assets are held within Balhiser LLC.  Among these assets are approximately 40 registered domain names, about 20 of which are suited towards portfolio optimization software.  My goal is to secure US trademarks on one or more of these names.  Obviously overt disclosure of these would be unwise at this time.</p><p>Having learned that building web and social media awareness is not an overnight process, I have begun building that online presence using a variety of avenues, including <a title="Sigma One Portfolio Software" href="http://sigma1.com">sigma1.com</a>.  This process in is its early stages, but Googling &#8220;Sigma1 Financial Software&#8221; or &#8220;Financial Software Heuristics&#8221; produce page 1 results.</p><p><strong>The Business Model</strong> &#8212; The Sigma1 Financial Software model includes both B2B and B2C components.   The B2B model is centered around leasing the portfolio optimization engine and software add-ons to money managers, institutional investors and/or investment advisers.  The optimization is not limited to portfolios alone, but can also optimize funds and proprietary-trading accounts.  Along with software leasing fees, businesses are likely to require training in the use of software.  Limited training could be negotiated as part of the software lease agreement, however additional training will also be a revenue source.  Finally consulting and custom-feature development may be additional revenue sources to the business.</p><p>The B2C component of the business model is currently planned to be completely internet-centric.  A very limited free online version can serve 2 purposes.  1) As a marketing tool to induce users to pay for a full-featured subscription-based model, 2) possibly, as a source of ad revenue.  A full-featured paid-subscription B2C version would be ad-free and feature larger portfolios and greater investment modeling, optimization, and visualization features.</p><p>&nbsp;</p><p>* Product names, logos, brands, and other trademarks featured or referred to within this document are the property of their respective trademark holders.</p> ]]></content:encoded> <wfw:commentRss>http://sigma1.com/2012/03/10/drafting-a-business-plan/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>New Perspectives on Portfolio Optimization</title><link>http://sigma1.com/2012/03/05/new-perspectives-on-portfolio-optimization/</link> <comments>http://sigma1.com/2012/03/05/new-perspectives-on-portfolio-optimization/#comments</comments> <pubDate>Tue, 06 Mar 2012 03:22:45 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Financial Analysis Software]]></category> <category><![CDATA[Quants]]></category> <category><![CDATA[portfolio analysis]]></category> <category><![CDATA[portfolio optimization]]></category> <category><![CDATA[portfolio strategies]]></category> <category><![CDATA[quantitative analysis software]]></category><guid isPermaLink="false">http://sigma1.com/?p=540</guid> <description><![CDATA[Building superior investment portfolios is what money managers are paid to do. As a fund manager, I wanted software to help me build superior, positive-alpha portfolios. Not finding software that did anything like I wanted, I decided to write my own. When I build or modify a portfolio I start with investment ideas. Ideas like [...]]]></description> <content:encoded><![CDATA[<div id="attachment_541" class="wp-caption alignright" style="width: 458px"><a href="http://sigma1.com/wp-content/uploads/2012/03/porfolio_contours.jpg"><img class="size-full wp-image-541" title="porfolio_contours" src="http://sigma1.com/wp-content/uploads/2012/03/porfolio_contours.jpg" alt="Portfolio Risk/Reward Contours" width="448" height="313" /></a><p class="wp-caption-text">Risk/Reward Contours for 100 Optimized Portfolios</p></div><p>Building superior investment portfolios is what money managers are paid to do. As a fund manager, I wanted software to help me build superior, positive-alpha portfolios.</p><p>Not finding software that did anything like I wanted, I decided to write my own.</p><p>When I build or modify a portfolio I start with investment ideas. Ideas like going short BWX (international government debt) and long JNK (US junk bonds). I want some US equity exposure with VTI and some modest buy-write protection through ETB. And I have a few stocks that I believe are likely to outperform the market. What I&#8217;d like is portfolio software that will take my list of stocks, ETFs, and other securities and show me the risk/reward trade off for a variety of portfolios comprised of these securities.</p><p>Before I get too far ahead of myself, let me explain the above graphic. It uses two measures of risk and a proprietary measure of expected return. The risk measures are 3-year portfolio beta (vs. the S&amp;P500), and sector diversification. This risk measures are transformed into &#8220;utility metrics&#8221;, which simply means bigger is better. By maximizing utility, risk is minimized.</p><p>The risk utility metrics (or heuristics) are set up as follows. 10 is the absolute best score and 0 the worst. In this graph a beta of 1.0 results in a beta &#8220;risk metric&#8221; of 10. A beta of infinity would result in a beta risk metric of 0. For this simulation, I don&#8217;t care about betas less than 1, though they are not excluded. The sector diversification metric measures how closely any portfolio matches sector market-cap weights in the S&amp;P 500. A perfect match scores a 10. The black &#8220;X&#8221; surrounded by a white circle denotes such a perfectly balanced portfolio. In fact this portfolio is used to seed the construction of the wide range of investment portfolios depicted in the chart.</p><p>On thing is immediately clear. Moving away from the relative safety of the 10/10 corner, expected returns increase, from 7.8% up to 15%. Another observation is that the software doesn&#8217;t think there is much benefit in increased beta (decreased beta metric) unless <strong>sector diversification is also decreased.  </strong>[This is the software "talking", not my opinion, per se.]<strong><br /> </strong></p><p>The contour lines help visualize the risk tradeoffs (trading beta risk for non-diversification risk) for a particular expected rate of return.  The pink 11% return contour looks almost linear &#8212; an outcome I find a bit surprising given the non-linear risk-estimation heuristics used in the modeling.</p><p>For all that the graphic shows, there is much it does not.  It does not show the composition or weightings of securities used to build the 100 portfolios whose scores appear.  That data appears in reports produced by the portfolio-tuner software.  The riskiest, but highest expected-return portfolios are heavy in financials and, intriguingly, consumer goods.  More centrally-located portfolios, with expected returns in the 11% range, are over-weighted in the basic materials, services (retail), consumer goods, financial, and technology sectors.</p><p>Back to the original theme: desirable features of financial software &#8212; particularly portfolio-optimization software.  For discussion, let&#8217;s assign the codename HAL0 (HAL zero in homage to HAL 9000) to this portfolio-optimizing software.  I don&#8217;t want dime-a-dozen stock/ETF screeners, but I do want software that I can ask &#8220;HAL0, help me build a complete portfolio by finding securities that optimally complements this 70% core of securities.&#8221;  Or &#8220;HAL, let&#8217;s create an volatility-optimized portfolio based on this particular list of securities, using my expected rates of return.&#8221;  Even, &#8220;HAL, forget volatility, standard-deviation, etc, and use my measures of risk and return, and build a choice of portfolios tuned and optimized to these heuristics&#8221;.</p><p>These are things the alpha version of HAL0 can do today (except for understanding English&#8230; you have to speak HAL&#8217;s language to pose your requests).  The plot you see was generated from data generated in just under 3 hours on an inexpensive desktop running Linux.  That run used 10,000 iterations of the optimization engine.  However 100 iterations, running in a mere 2 minutes, will produce a solution-space that is nearly identical.</p><p>HAL0 supports n-dimensional solution spaces (surfaces, frontiers), though I&#8217;ve only tested 2-D and 3-D so far.  The fact that visualizing 4-D data would probably involve an animated 3-D video makes me hesitate.  And preserving &#8220;granularity&#8221; requires an exponential scaling in time complexity.  Ten data points provides acceptable granularity for a 2-D optimization, 100 data points is acceptable for 3-D, and 1000 data points for 4-D.  Under such conditions the 4-D sim would be a bit more than 10x slower.  If a granularity of 20 is desired, the 3-D sim would be slowed by 4X, and a 4-D optimization by an <strong>additional</strong> 8X.   I have considered the idea that a 4-D optimization could be used for a short time, say 10 iterations and/or with low granularity (say 8),  and then one of the utility heuristics could be discarded and 3-D optimization (with higher depth and granularity )could continue from there&#8230; nothing in the HALo software precludes this.</p><p>HAL0 is software built to build portfolios.  It uses algorithms from software my partner and I developed in grad school to solve engineering problems&#8211; algorithms that built upon evolutionary algorithms, AI, machine learning and heuristic algorithms.  HAL0 also incorporates ideas and insights that I have had in the intervening 8 years.  Incorporated into its software DNA are features that I find extremely important:  robustness, scalability and extensibility.</p><p>Today HAL0 can construct portfolios comprised of stocks, ETFs, and highly-liquid bonds and commodities.   I have not yet figured out a satisfactory way to include options, futures, or assets such as non-negotiable CDs into the optimization engine.  Nor have I implemented multi-threading nor distributed computing, though the software is designed from the ground up to support these scalability features.</p><p>HAL0 is in the late alpha-testing phase.  I plan to have a web-based beta-testing model ready by the end of 2012.</p><p>Disclaimer:  Do not make adjustments to your investment portfolio without first consulting a registered investment adviser (RIA), CFP or other investment professional.</p><p>&nbsp;</p><p>&nbsp;</p> ]]></content:encoded> <wfw:commentRss>http://sigma1.com/2012/03/05/new-perspectives-on-portfolio-optimization/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Financial Software: Heuristics Explained</title><link>http://sigma1.com/2012/02/24/financial-software-heuristics-explained/</link> <comments>http://sigma1.com/2012/02/24/financial-software-heuristics-explained/#comments</comments> <pubDate>Sat, 25 Feb 2012 00:07:35 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Financial Analysis Software]]></category> <category><![CDATA[Quants]]></category> <category><![CDATA[wealth management]]></category> <category><![CDATA[portfolio analysis]]></category> <category><![CDATA[portfolio optimization]]></category> <category><![CDATA[portfolio strategies]]></category><guid isPermaLink="false">http://sigma1.com/?p=513</guid> <description><![CDATA[A Baseball Analogy Imagine you&#8217;re the general manager of a Major League ball club.  Your primary job is to construct (and maintain) a team of players  that will win lots of games, while keeping the total player payroll as low as possible.  When considering a hypothetical roster a baseball GM has two primary objectives in [...]]]></description> <content:encoded><![CDATA[<div id="attachment_535" class="wp-caption alignright" style="width: 310px"><a href="http://sigma1.com/wp-content/uploads/2012/02/Software_1a.png"><img class="size-medium wp-image-535 " title="Software" src="http://sigma1.com/wp-content/uploads/2012/02/Software_1a-300x205.png" alt="Software visualization" width="300" height="205" /></a><p class="wp-caption-text">Abstract Visual of Software</p></div><h2>A Baseball Analogy</h2><p>Imagine you&#8217;re the general manager of a Major League ball club.  Your primary job is to construct (and maintain) a team of players  that will win lots of games, while keeping the total player payroll as low as possible.  When considering a hypothetical roster a baseball GM has two primary objectives in mind:</p><ol><li>Total annual payroll (plus any associated &#8220;luxury tax&#8221;)</li><li>Expected season wins (and post-season wins)</li></ol><p>These objectives can also be called <em>heuristics</em> &#8212; rules of thumb to help find solutions to complex problems.   These heuristics can be turned into numbers (quantified) by creating <em>cost functions</em> or <em>utility functions</em>.  Please don&#8217;t let all of this jargon disembolden you; we are merely talking a little baseball here.</p><p>The cost function function for payroll is just that&#8230; the total annual salaries for a proposed roster.  It is called a <em>cost</em> function because cost is something we are trying to <strong>minimize</strong>.  Expected wins is called a <em>utility</em> function, because utility is good, and we want to <strong>maximize</strong> it.</p><p>Now, accurately predicting number of wins for a hypothetical (or real) roster of players is a real challenge.  Every scout and adviser is going to have his or her own ideas or heuristics.  Just watch <a title="IMDB Moneyball" href="http://www.imdb.com/title/tt1210166/" target="_blank">Moneyball</a> to see what I mean.  To turn any given roster into a utility score a GM could write a proposed roster on a whiteboard and point-blank ask each advisory &#8220;How many wins will this team produce?&#8221;  The GM could average these predictions and, boom!, that&#8217;s an utility function.  The GM could also hire a computer scientist and statistician to code up a utility function for any proposed roster relying on a chosen set of stats.</p><p>Either way, now the GM has can evaluate any proposed roster based on two metrics: cost and wins.  These data can be plotted, and quickly patterns will emerge.  Some proposed rosters will be both more expensive and less &#8220;winning&#8221; than others.  These rosters are said to be <em>dominated</em>, and they can be removed from consideration.  Once all the dominated rosters are eliminated, what remains is a series of dots that form a curve.  As one moves up that curve, one finds more winning, but more expensive rosters.  Moving the other way, the payroll cost is less, but the expected wins decrease.  This curve resembles what financial folks call an <em>efficient frontier</em> &#8212; the expected risk/reward tradeoff for an optimized portfolio selected from a basket of securities.</p><h2>Back to Portfolio Optimization Software</h2><p>The baseball analogy above tries to explain mathematical concepts without resorting to math.   OK, I did use a few math words, but no equations!</p><p>There are several differences between a baseball roster and an investment portfolio.  Key differences from an investment portfolio are:  1) You can own multiple shares of a stock or ETF (but have only 1 of any player),  2) You can trade stocks/ETFs virtually whenever you want.</p><p>Nonetheless, the baseball analogy is useful in illustrating what Sigma1 Software will be able to do for fund managers and investors.  Instead of building a baseball roster, you are building an investment portfolio.  In the classic &#8220;CAPM&#8221; investing model, the cost function is<em> standard deviation</em> (risk), and the utility function is <em>expected return</em>.  <strong>Historical</strong> standard deviation is easy to compute, but expected return is much harder to accurately compute.<strong></strong></p><p><strong></strong>Now, if you are an active fund manager, you probably have in-house analysts paid to help you pick stocks (just like GM&#8217;s have scouts).  But scouting reports from analysts do not a portfolio make&#8230; even if your analysts are giving you positive-alpha stock picks. A robust asset allocation strategy is necessary to build a robust portfolio out of your chosen list of securities.</p><h2>The Vision for Sigma1 Portfolio Software</h2><h4>A Vision for Financial Professionals</h4><p>It started with the desire to create software that would allow me to build a better portfolio for my proprietary trading fund &#8212; Software that could optimize portfolios using heuristics, cost functions, and utility functions of my own choosing.   I wanted to create portfolio software for investment managers that:</p><ul><li>Allows them to select their own list of securities (or chosen dynamically from all investable securities)</li><li>Takes advantage of one or more &#8220;seed portfolios&#8221; if desired</li><li>Allows proprietary heuristics, cost functions, market models, etc. to plug seamlessly into the optimization engine</li><li>Isn&#8217;t limited to linear or Gaussian risk-analysis measures</li><li>Runs in minutes or hours, not days</li><li>Is capable of efficiently utilizing distributed and parallel computing resources &#8212; Scalability</li></ul><h4>A Vision for &#8220;Retail&#8221; Investors</h4><p>For retail investors, the general investing public, I envision scaled-down versions of the professional portfolio optimization software.  The retail investor software will run as an application on a web server.  A free version will provide portfolio optimization for a small basket of user-chosen securities, perhaps limiting portfolio size to 10.   A paid-subscription plan will offer more features and allow retail users to build larger portfolios.</p><p>To keep the software easy to use, a variety of ready-to-use heuristics will be available.  These are likely to include:</p><ul><li>Standard deviation</li><li>Historic best-year and worst-year analysis</li><li>Beta (versus common indices)</li><li>Diversification measures (e.g. sector, market-cap)</li><li>Price-to-earnings</li><li>Proprietary expected-return predictors</li></ul> ]]></content:encoded> <wfw:commentRss>http://sigma1.com/2012/02/24/financial-software-heuristics-explained/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>The Business of Financial Business</title><link>http://sigma1.com/2012/02/22/the-business-of-financial-business/</link> <comments>http://sigma1.com/2012/02/22/the-business-of-financial-business/#comments</comments> <pubDate>Thu, 23 Feb 2012 06:03:27 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Financial Analysis Software]]></category> <category><![CDATA[portfolio strategies]]></category> <category><![CDATA[quantitative analysis]]></category> <category><![CDATA[quantitative analysis software]]></category> <category><![CDATA[trading strategies]]></category><guid isPermaLink="false">http://sigma1.com/?p=500</guid> <description><![CDATA[Personally the easiest part of the financial software business is software development.  I have been involved with sales before and feel reasonably confident about this aspect of the business.  The primary challenge for me is marketing. Sales is a face-to-face process.  Software development is either a solo process or a collaborative process usually involving a [...]]]></description> <content:encoded><![CDATA[<p>Personally the easiest part of the financial software business is software development.  I have been involved with sales before and feel reasonably confident about this aspect of the business.  The primary challenge for me is marketing.</p><p>Sales is a face-to-face process.  Software development is either a solo process or a collaborative process usually involving a small group of developers.  Marketing is very different.  It is a one-to-many (or few-to-many) situation.  Striking a chord with the &#8220;many&#8221; is a perpetual challenge because the feedback is indirect and slow.  With marketing, I miss the face-to-face feedback and real-time personal interaction.</p><p>Knowing that marketing is not my strongest point, I have put extra effort into SEO, SEM, social media, and web marketing.  Over the past couple weeks I have purchased about 20 new domains.  Market and entrepreneurial research has shown me that a good idea, a good product, and a good domain name are not sufficient to achieve my business goals.  I realize that solid branding and trademarks are also important.</p><p>As a holder of 4 U.S. patents, I understand the importance of IP protection.  However, I am ideologically opposed to patents on software, algorithms, and &#8220;business processes.&#8221;   Therefore I feel that I must focus on branding, trademark protection, trade-secret protection, and copyright protection.</p><p>My redoubled marketing efforts have been exhausting and I hope they will pay off.  Next I plan to get back to software creation and refinement.</p> ]]></content:encoded> <wfw:commentRss>http://sigma1.com/2012/02/22/the-business-of-financial-business/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Portfolio Software: Day 8</title><link>http://sigma1.com/2012/02/20/portfolio-software-day-8/</link> <comments>http://sigma1.com/2012/02/20/portfolio-software-day-8/#comments</comments> <pubDate>Tue, 21 Feb 2012 02:14:09 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Financial Analysis Software]]></category> <category><![CDATA[quantitative analysis]]></category> <category><![CDATA[trading strategies]]></category><guid isPermaLink="false">http://sigma1.com/?p=479</guid> <description><![CDATA[Software development seems to inevitably take longer than scheduled.  I thought I&#8217;d have a working alpha model by &#8220;Day 4&#8243;, but it took me until &#8220;Day 7&#8243;.  Happily, yesterday my program produced its first algorithmically-generated portfolios.  These portfolios were generated from a small &#8220;universe&#8221; of stocks optimized using simple heuristics.  To test my new algorithm, [...]]]></description> <content:encoded><![CDATA[<p>Software development seems to inevitably take longer than scheduled.  I thought I&#8217;d have a working alpha model by &#8220;Day 4&#8243;, but it took me until &#8220;Day 7&#8243;.  Happily, yesterday my program produced its first algorithmically-generated portfolios.  These portfolios were generated from a small &#8220;universe&#8221; of stocks optimized using simple heuristics.  To test my new algorithm, I designed the two extremes of the search-space to have known solutions.  The solutions between the extremes along the test efficient frontier, however, have no obvious closed-form solutions.  One of the two trial portfolio heuristics is, by design, extremely non-linear as well as non-monotonic.</p><p>So far, on relatively small data sets, the run time is very good.  This is despite being coded in an interpreted language, and code that contains several known inefficiencies (such as repeating heuristic computations repeatedly on the same portfolio&#8230; caching will solve this particular issue).  I am now well positioned to begin refining the algorithms&#8217; parameters and heuristics as well as to make run time improvement.</p><p>I have taken care, and extra time to build extensibility and testability (and of course revision control) into my Linux-based software development environment.  For example the portfolio software supports n-dimensions of analysis heuristics, not just 2 or 3.  Additionally the security selection space has no built-in limits.  Selecting from all listed, investable securities available on Earth is possible.  So long as the portfolio population is constrained (to say &lt;= 100), the investable securities list can be very large.  Similarly, portfolios can contain many securities (1000+) without significant slow-down.</p><p>Regression testing can be a bit of a challenge with rand() being part of the of algorithm.  However srand() is very, very helpful in creating targeted software regression tests.  So far, I&#8217;ve been able to maintain regression-based testability for the entire program.</p><p>I also set aside some SEO, SEM, social media time on this project.  While the SEO and SEM efforts are very tedious, they are critical to building market awareness.  The social media aspect is somewhat more fun, and occasionally pays dividends that extend beyond the potential marketing benefits.</p><p>All in all I am relatively happy with the progress to date.  Sigma1 now has working, readable, extensible code for portfolio optimization.  The current software is pre-alpha, and very likely to have undiscovered bugs and numerous opportunities for efficiency and rate-of-convergence improvement.  At least I believe the code has arrived at the initial proof of concept stage.  This is only the &#8220;end of the beginning&#8221;.   Much work remains to improve the golden (Ruby) version of the software.  Once the Ruby code has sufficiently &#8220;gelled&#8221;, then begins the task of duplicating it with a C/C++ version.  I intend to refine both the Ruby and C/C++ versions so that they produce identical results in regression.   This will be a tedious process, but is extremely likely to find and squash subtle bugs.</p> ]]></content:encoded> <wfw:commentRss>http://sigma1.com/2012/02/20/portfolio-software-day-8/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Portfolio Software Development:  Day 3</title><link>http://sigma1.com/2012/02/15/portfolio-software-development-day-3/</link> <comments>http://sigma1.com/2012/02/15/portfolio-software-development-day-3/#comments</comments> <pubDate>Thu, 16 Feb 2012 02:57:47 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Financial Analysis Software]]></category> <category><![CDATA[Quants]]></category> <category><![CDATA[quantitative analysis]]></category><guid isPermaLink="false">http://sigma1.com/?p=458</guid> <description><![CDATA[Portfolio Software: Plain English Yesterday I wrote an early version of financial software to help users improve their investing portfolios.  This software has the ability to solve financial problems in a very different way than taught in graduate-level finance classes.   Rather than relying solely on a type of mathematics called statistic analysis, Sigma1 software [...]]]></description> <content:encoded><![CDATA[<h2>Portfolio Software: Plain English</h2><p>Yesterday I wrote an early version of financial software to help users improve their investing portfolios.  This software has the ability to solve financial problems in a very different way than taught in graduate-level finance classes.   Rather than relying solely on a type of mathematics called statistic analysis, Sigma1 software uses techniques from computer science called artificial intelligence or AI.  (I prefer the term machine intelligence because there is nothing artificial about the intelligence results produced by a solid AI algorithm.  If you doubt this, I challenge you to beat <a title="Chessmaster " href="http://chessmaster.uk.ubi.com/xi/newsitem.php?id=6749" target="_blank">Chessmaster 11</a> running on your PC&#8230; on max difficulty.)</p><p>My idea has been to develop a sophisticated program that would allow institutional investors such as fund managers to  &#8221;plug in&#8221; their proprietary valuation models and come up with solid portfolios in minutes or hours, rather than days or weeks using brute-force techniques.    As I was working, I realized that smaller &#8220;normal&#8221; investors could also benefit from a simplified version of Sigma1 software.</p><p>Rather than sell this lite version of portfolio-opt software I may provide a free version on a website.  The free version would have limitations on both the number of securities and the &#8220;depth&#8221; of analysis and reporting.  For example the user may only be able to enter a maximum of 20 securities in their current (or proposed) starting portfolio.  The free web version would quickly suggest an asset-allocation mix of those securities that is (potentially) safer with the same expected return or (potentially) equally safe with a higher expected return.</p><p>If the free web version is popular enough, Sigma1 may introduce a paid web subscription service that allows a larger portfolio, a wider selection of securities, more detailed reports and even sample portfolios to &#8220;blend&#8221; with the investor&#8217;s favorite tickers.</p><p>Even after the free web version is released, I plan to refine the advanced institutional version of the software.  I plan to use it to improve the composition of the Sigma1 proprietary trading fund.  I also intend to develop a world-class product that institutional investors will want to have access to&#8230; for a very reasonable price.</p><p>At this time I have zero interest in sharing the source code or specific concepts underlying the current and future Sigma1 software.  Many of these ideas stem from work in my undergrad engineering and computer science studies.  They have developed in my graduate work in finance and engineering.   The realization that the techniques I have developed for engineering, game-theory, poker and number theory apply most directly to portfolio construction and optimization hints at the possibility that I have hit upon one of those rare ideas that strike gold.  Not academic gold; real &#8220;gold&#8221; with real financial value.</p><p>I love academic research and open-source software.  I don&#8217;t intend to keep the concepts and code that Sigma1 is developing locked up forever.  If the Sigma1 financial software is financially successful enough, I hope to release pieces of it to the open-source community over time.  (Conversely, if the software does  not ultimately find a lucrative market, I will eventually release it too <img src='http://sigma1.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p><h2>Portfolio Optimization Software: Tech Speak</h2><p>Yesterday I wrote the key pieces of an evolutionary algorithm to build and optimize securities portfolios, namely mutation and crossover.   The remaining pieces: heuristics and selection should be relatively easy to code.   The coding and testing was very quick  1) because I&#8217;ve written EA&#8217;s many times before, 2) because I had 2 days to think about it as I was driving and 3) because I wrote it in Ruby.</p><p>Based on previous experience (and depending on the complexity of the heuristics), run-times should be swift for populations of 200 and portfolios of 500 securities or less. In previous research I&#8217;ve been able to use distributed computing when the heuristics/analysis dominated run-time.  Generally the EA has not been the limiting factor for speed.</p><p>I plan to start with relatively simple heuristics to test the portfolio-optimization software.  Likely the first test will merely compute the (near-optimal) efficient frontier for a basket of securities, plotting 3-year standard deviation of various portfolios on the frontier versus expected return.  If I wish I may even compare the results to efficient frontiers constructed with classic methods using covariance matrices.</p><p>Once I create a Ruby prototype I plan to re-code the software in C/C++, both for execution speed and for the relative IP-protection provided by releasing only compiled binary executables.</p> ]]></content:encoded> <wfw:commentRss>http://sigma1.com/2012/02/15/portfolio-software-development-day-3/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: sigma1.com @ 2012-04-16 23:49:46 -->
