[Returnanalytics-commits] r3390 - pkg/PortfolioAnalytics/sandbox/RFinance2014

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Fri May 23 16:27:12 CEST 2014


Author: rossbennett34
Date: 2014-05-23 16:27:11 +0200 (Fri, 23 May 2014)
New Revision: 3390

Removed:
   pkg/PortfolioAnalytics/sandbox/RFinance2014/R/
   pkg/PortfolioAnalytics/sandbox/RFinance2014/README.md
   pkg/PortfolioAnalytics/sandbox/RFinance2014/data/
   pkg/PortfolioAnalytics/sandbox/RFinance2014/data_analysis.R
   pkg/PortfolioAnalytics/sandbox/RFinance2014/data_prep.R
   pkg/PortfolioAnalytics/sandbox/RFinance2014/figures/
   pkg/PortfolioAnalytics/sandbox/RFinance2014/index.html
   pkg/PortfolioAnalytics/sandbox/RFinance2014/makefile
   pkg/PortfolioAnalytics/sandbox/RFinance2014/optimization_analysis.R
   pkg/PortfolioAnalytics/sandbox/RFinance2014/optimization_results/
   pkg/PortfolioAnalytics/sandbox/RFinance2014/optimize.R
   pkg/PortfolioAnalytics/sandbox/RFinance2014/presentation.Rmd
   pkg/PortfolioAnalytics/sandbox/RFinance2014/slidy_presentation.html
Log:
removing files from RFinance2014 directory to clean and prep for copying updated presentation files

Deleted: pkg/PortfolioAnalytics/sandbox/RFinance2014/README.md
===================================================================
--- pkg/PortfolioAnalytics/sandbox/RFinance2014/README.md	2014-05-22 14:02:34 UTC (rev 3389)
+++ pkg/PortfolioAnalytics/sandbox/RFinance2014/README.md	2014-05-23 14:27:11 UTC (rev 3390)
@@ -1,17 +0,0 @@
-PortfolioAnalyticsPresentation
-==============================
-
-Repository for exploring ways to develop html presentation for the PortfolioAnalytics package, primarily for RFinance 2014.
-
-This repo has two branches
-* master
-* gh-pages
-
-Only work on the master branch. The gh-pages branch is used to view the generated presentation as index.html.
-
-http://oli.jp/2011/github-pages-workflow/
-you can push your local master branch to the gh-pages branch on GitHub
-
-```
-git push -f origin master:gh-pages
-```

Deleted: pkg/PortfolioAnalytics/sandbox/RFinance2014/data_analysis.R
===================================================================
--- pkg/PortfolioAnalytics/sandbox/RFinance2014/data_analysis.R	2014-05-22 14:02:34 UTC (rev 3389)
+++ pkg/PortfolioAnalytics/sandbox/RFinance2014/data_analysis.R	2014-05-23 14:27:11 UTC (rev 3390)
@@ -1,127 +0,0 @@
-library(PerformanceAnalytics)
-
-source("data_prep.R")
-
-figures.dir <- "figures"
-
-##### Equity Data for Example 1 and Example 2 #####
-colors <- c(rep("blue", 15), rep("green", 15), rep("red", 5))
-sd.order <- order(StdDev(equity.data))
-
-# boxplot to compare return distributions
-# mar(bottom, left, top, right)
-# default: par(mar=c(5, 4, 4, 2) + 0.1)
-png(paste(figures.dir, "equity_box.png", sep="/"), height = 500, width = 1000)
-boxplot(coredata(equity.data[,sd.order]),
-        cex.axis=0.8, las=3, ylab="Returns", pch=18,
-        col=colors[sd.order],
-        main="Return Distribution\n(sorted by StdDev)")
-legend("topleft", legend=c("Large Cap", "Mid Cap", "Small Cap"), 
-       fill=c("blue", "green", "red"), bty="n", cex=0.8)
-dev.off()
-
-##### edhec Data for Example 3 and Example 4 #####
-p <- 0.95
-
-png(paste(figures.dir, "relative_barvar.png", sep="/"))
-charts.BarVaR(R[,1:3], width=60, methods=c("ModifiedES", "ModifiedVaR"), 
-              main="Relative Value")
-dev.off()
-
-png(paste(figures.dir, "directional_barvar.png", sep="/"))
-charts.BarVaR(R[,4:6], width=60, methods=c("ModifiedES", "ModifiedVaR"), 
-              main="Directional")
-dev.off()
-
-
-colors <- c(rep("lightblue", 3), rep("red", 3))
-ES.order <- order(ES(R, p=p, invert=FALSE))
-
-png(paste(figures.dir, "edhec_box.png", sep="/"), height = 500, width = 1000)
-boxplot(coredata(R[,ES.order]),
-        cex.axis=0.8, las=3, ylab="Returns", pch=18,
-        col=colors[ES.order],
-        main="Return Distribution\n(sorted by Modified ES (95%))")
-legend("topleft", legend=c("Relative Value", "Directional"), 
-       fill=c("lightblue", "red"), bty="n", cex=0.8)
-dev.off()
-
-# script for data analysis
-
-# library(PerformanceAnalytics)
-# library(lattice)
-# library(corrplot)
-
-# load("data/edhec.rda")
-# 
-# head(edhec)
-# R <- edhec[,1:4]
-# p <- 0.95
-# 
-# first(R)
-# last(R)
-
-# plot the timeseries of returns
-# plot(as.zoo(edhec))
-# xyplot(R, scales=list(y="same"))
-# charts.BarVaR(R, width=36, methods=c("ModifiedES", "ModifiedVaR"))
-# dev.off()
-
-# boxplot to compare return distributions
-# mar(bottom, left, top, right)
-# default: par(mar=c(5, 4, 4, 2) + 0.1)
-# par(mar=c(10, 4, 4, 2) + 0.1)
-# boxplot(coredata(R[,order(ES(R, p=p, invert=FALSE))]),
-#         cex.axis=0.8, las=3, ylab="Returns", pch=18,
-#         main="Return Distribution\n(sorted by Modified ES (95%))")
-# par(mar=c(5, 4, 4, 2) + 0.1)
-# dev.off()
-
-# head(R[,order(ES(R, invert=FALSE))])
-# head(R[,order(StdDev(R))])
-# chart.Boxplot(R[,order(ES(R, invert=FALSE))])
-# chart.Boxplot(R[,order(StdDev(R))])
-# boxplot(coredata(R), col=c(2:5), cex.names=0.8, las=3)
-
-# chart the distribution of returns
-# for(i in 1:ncol(R)){
-#   chart.Histogram(R[,i], methods=c("add.density", "add.normal"), 
-#                   colorset=c("lightgray", "black", "blue"))
-#   legend("topleft", legend=c("kernel density estimate", "normal"), 
-#          lty=c(1,1), col=c("black", "blue"), bty="n")
-#   Sys.sleep(1)
-# }
-
-
-# chart the correlation and covariance
-# from http://cran.r-project.org/web/packages/corrplot/vignettes/corrplot-intro.html
-# cor.mtest <- function(mat, conf.level = 0.95) {
-#   mat <- as.matrix(mat)
-#   n <- ncol(mat)
-#   p.mat <- lowCI.mat <- uppCI.mat <- matrix(NA, n, n)
-#   diag(p.mat) <- 0
-#   diag(lowCI.mat) <- diag(uppCI.mat) <- 1
-#   for (i in 1:(n - 1)) {
-#     for (j in (i + 1):n) {
-#       tmp <- cor.test(mat[, i], mat[, j], conf.level = conf.level)
-#       p.mat[i, j] <- p.mat[j, i] <- tmp$p.value
-#       lowCI.mat[i, j] <- lowCI.mat[j, i] <- tmp$conf.int[1]
-#       uppCI.mat[i, j] <- uppCI.mat[j, i] <- tmp$conf.int[2]
-#     }
-#   }
-#   return(list(p.mat, lowCI.mat, uppCI.mat))
-# }
-# res <- cor.mtest(R)
-# 
-# corrplot(cor(R), p.mat=res[[1]], main="Correlation", 
-#          sig.level=0.05, tl.cex=0.8)
-
-# corrplot(M, method="number", bg="gray", tl.cex=0.8)
-# corrplot.mixed(M, bg="gray", tl.cex=0.8)
-
-# If I compare sample min variance portfolio to a ledoit-shrinkage or robust, 
-# I should use plotcov to compare covaiance matrices
-
-
-
-

Deleted: pkg/PortfolioAnalytics/sandbox/RFinance2014/data_prep.R
===================================================================
--- pkg/PortfolioAnalytics/sandbox/RFinance2014/data_prep.R	2014-05-22 14:02:34 UTC (rev 3389)
+++ pkg/PortfolioAnalytics/sandbox/RFinance2014/data_prep.R	2014-05-23 14:27:11 UTC (rev 3390)
@@ -1,25 +0,0 @@
-
-##### Equity Data for Example 1 and Example 2 #####
-load("data/crsp_weekly.rda")
-
-equity.data <- cbind(largecap_weekly[,1:15], 
-                     midcap_weekly[,1:15], 
-                     smallcap_weekly[,1:5])
-market <- largecap_weekly[,21]
-Rf <- largecap_weekly[,22]
-
-##### edhec Data for Example 3 and Example 4 #####
-# Load the updated edhec dataset
-load("data/edhec.rda")
-
-# Prep data for Examples 3 and 4
-R <- edhec[,c("Convertible.Arbitrage", "Equity.Market.Neutral", 
-              "Fixed.Income.Arbitrage", 
-              "CTA.Global", "Emerging.Markets", "Global.Macro")]
-# Abreviate column names for convenience and plotting
-colnames(R) <- c("CA", "EMN", "FIA", "CTAG", "EM", "GM")
-
-
-# clean up and remove the data we don't need
-rm(largecap_weekly, midcap_weekly, smallcap_weekly, microcap_weekly)
-rm(edhec)

Deleted: pkg/PortfolioAnalytics/sandbox/RFinance2014/index.html
===================================================================
--- pkg/PortfolioAnalytics/sandbox/RFinance2014/index.html	2014-05-22 14:02:34 UTC (rev 3389)
+++ pkg/PortfolioAnalytics/sandbox/RFinance2014/index.html	2014-05-23 14:27:11 UTC (rev 3390)
@@ -1,45546 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>Complex Portfolio Optimization with PortfolioAnalytics</title>
-  <meta charset="utf-8">
-  <meta name="description" content="Complex Portfolio Optimization with PortfolioAnalytics">
-  <meta name="author" content="Ross Bennett">
-  <meta name="generator" content="slidify" />
-  <meta name="apple-mobile-web-app-capable" content="yes">
-  <meta http-equiv="X-UA-Compatible" content="chrome=1">
-  <link rel="stylesheet" href="libraries/frameworks/io2012/css/default.css" media="all" >
-  <link rel="stylesheet" href="libraries/frameworks/io2012/css/phone.css" 
-    media="only screen and (max-device-width: 480px)" >
-  <link rel="stylesheet" href="libraries/frameworks/io2012/css/slidify.css" >
-  <link rel="stylesheet" href="libraries/highlighters/highlight.js/css/tomorrow.css" />
-  <base target="_blank"> <!-- This amazingness opens all links in a new tab. -->  <link rel=stylesheet href="libraries/widgets/nvd3/css/nv.d3.css"></link>
-<link rel=stylesheet href="libraries/widgets/nvd3/css/rNVD3.css"></link>
-
-  
-  <!-- Grab CDN jQuery, fall back to local if offline -->
-  <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.min.js"></script>
-  <script>window.jQuery || document.write('<script src="libraries/widgets/quiz/js/jquery.js"><\/script>')</script> 
-  <script data-main="libraries/frameworks/io2012/js/slides" 
-    src="libraries/frameworks/io2012/js/require-1.0.8.min.js">
-  </script>
-  
-  <script src="libraries/widgets/nvd3/js/jquery-1.8.2.min.js"></script>
-<script src="libraries/widgets/nvd3/js/d3.v3.min.js"></script>
-<script src="libraries/widgets/nvd3/js/nv.d3.min-new.js"></script>
-<script src="libraries/widgets/nvd3/js/fisheye.js"></script>
-
-
-</head>
-<body style="opacity: 0">
-  <slides class="layout-widescreen">
-    
-    <!-- LOGO SLIDE -->
-        <slide class="title-slide segue nobackground">
-  <hgroup class="auto-fadein">
-    <h1>Complex Portfolio Optimization with PortfolioAnalytics</h1>
-    <h2>R/Finance 2014</h2>
-    <p>Ross Bennett<br/></p>
-  </hgroup>
-  <article></article>  
-</slide>
-    
-
-    <!-- SLIDES -->
-    <slide class="" id="slide-1" style="background:;">
-  <hgroup>
-    <h2>Overview</h2>
-  </hgroup>
-  <article data-timings="">
-    <ul>
-<li>Discuss Portfolio Optimization</li>
-<li>Introduce PortfolioAnalytics</li>
-<li>Demonstrate PortfolioAnalytics with Examples</li>
-</ul>
-
-<!--
-* Discuss Portfolio Optimization
-    * Some background and theory of portfolio theory
-    * challenges
-* Introduce PortfolioAnalytics
-    * What PortfolioAnalytics does and the problems it solves
-* Demonstrate PortfolioAnalytics with Examples
-    * Brief overview of the examples I will be giving
--->
-
-  </article>
-  <!-- Presenter Notes -->
-</slide>
-
-<slide class="" id="slide-2" style="background:;">
-  <hgroup>
-    <h2>Modern Portfolio Theory</h2>
-  </hgroup>
-  <article data-timings="">
-    <p>"Modern" Portfolio Theory (MPT) was introduced by Harry Markowitz in 1952.</p>
-
-<p>In general, MPT states that an investor's objective is to maximize portfolio expected return for a given amount of risk.</p>
-
-<p>General Objectives</p>
-
-<ul>
-<li>Maximize a measure of gain per unit measure of risk</li>
-<li>Minimize a measure of risk</li>
-</ul>
-
-<p>How do we define risk? What about more complex objectives?</p>
-
-<!--
-Several approaches follow the Markowitz approach using mean return as a measure of gain and standard deviation of returns as a measure of risk. This is an academic approach. 
--->
-
-  </article>
-  <!-- Presenter Notes -->
-</slide>
-
-<slide class="" id="slide-3" style="background:;">
-  <hgroup>
-    <h2>Portfolio Optimization Objectives</h2>
-  </hgroup>
-  <article data-timings="">
-    <ul>
-<li>Minimize Risk
-
-<ul>
-<li>Volatility</li>
-<li>Tail Loss (VaR, ES)</li>
-<li>Other Downside Risk Measure</li>
-</ul></li>
-<li>Maximize Risk Adjusted Return
-
-<ul>
-<li>Sharpe Ratio, Modified Sharpe Ratio</li>
-<li>Several Others</li>
-</ul></li>
-<li>Risk Budgets
-
-<ul>
-<li>Equal Component Contribution to Risk (i.e. Risk Parity)</li>
-<li>Limits on Component Contribution</li>
-</ul></li>
-<li>Maximize a Utility Function
-
-<ul>
-<li>Quadratic, CRRA, etc.</li>
-</ul></li>
-</ul>
-
-<!--
-* Expand on pros/cons of closed-form solvers vs. global solvers and what objectives can be solved.
-* The challenge here is knowing what solver to use and the capabilities/limits of the chosen solver. 
-* Some of these problems can be formulated as a quadratic or linear programming problem. Constructing the constraint matrix and objective function matrix or vector is not trivial. Limited to the quality of LP and QP solvers available for R. 
--->
-
-  </article>
-  <!-- Presenter Notes -->
-</slide>
-
-<slide class="" id="slide-4" style="background:;">
-  <hgroup>
-    <h2>PortfolioAnalytics Overview</h2>
-  </hgroup>
-  <article data-timings="">
-    <p>PortfolioAnalytics is an R package designed to provide numerical solutions and visualizations for portfolio optimization problems with complex constraints and objectives.</p>
-
-<ul>
-<li>Support for multiple constraint and objective types</li>
-<li>An objective function can be any valid R function</li>
-<li>Modular constraints and objectives</li>
-<li>Support for user defined moment functions</li>
-<li>Visualizations</li>
-<li>Solver agnostic</li>
-<li>Support for parallel computing</li>
-</ul>
-
-<!---
-The key points to make here are:
-* Flexibility
-    * The multiple types and modularity of constraints and objectives allows us to add, remove, combine, etc. multiple constraint and objective types very easily.
-    * Define an objective as any valid R function
-    * Define a function to compute the moments (sample, robust, shrinkage, factor model, GARCH model, etc.)
-    * Estimation error is a significant concern with optimization. Having the ability to test different models with different parameters is critical.
-* PortfolioAnalytics comes "out of the box" with several constraint types.
-* Visualization helps to build intuition about the problem and understand the feasible space of portfolios
-* Periodic rebalancing and analyzing out of sample performance will help refine objectives and constraints
--->
-
-  </article>
-  <!-- Presenter Notes -->
-</slide>
-
-<slide class="" id="slide-5" style="background:;">
-  <hgroup>
-    <h2>Support Multiple Solvers</h2>
-  </hgroup>
-  <article data-timings="">
-    <p>Linear and Quadratic Programming Solvers</p>
-
-<ul>
-<li>R Optimization Infrastructure (ROI)
-
-<ul>
-<li>GLPK (Rglpk)</li>
-<li>Symphony (Rsymphony)</li>
-<li>Quadprog (quadprog)</li>
-</ul></li>
-</ul>
-
-<p>Global (stochastic or continuous solvers)</p>
-
-<ul>
-<li>Random Portfolios</li>
-<li>Differential Evolution (DEoptim)</li>
-<li>Particle Swarm Optimization (pso)</li>
-<li>Generalized Simulated Annealing (GenSA)</li>
-</ul>
-
-<!---
-Brief explanation of each solver and what optimization problems are supported
--->
-
-  </article>
-  <!-- Presenter Notes -->
-</slide>
-
-<slide class="" id="slide-6" style="background:;">
-  <hgroup>
-    <h2>Random Portfolios</h2>
-  </hgroup>
-  <article data-timings="">
-    <p>PortfolioAnalytics has three methods to generate random portfolios.</p>
-
-<ol>
-<li>The <strong>sample</strong> method to generate random portfolios is based on an idea by Pat Burns.</li>
-<li>The <strong>simplex</strong> method to generate random portfolios is based on a paper by W. T. Shaw.</li>
-<li>The <strong>grid</strong> method to generate random portfolios is based on the <code>gridSearch</code> function in the NMOF package.</li>
-</ol>
-
-<!--
-* Random portfolios allow one to generate an arbitray number of portfolios based on given constraints. Will cover the edges as well as evenly cover the interior of the feasible space. 
-
-* The sample method to generate random portfolios is based on an idea by Pat Burns. This is the most flexible method, but also the slowest, and can generate portfolios to satisfy leverage, box, group, and position limit constraints.
-
-* The simplex method to generate random portfolios is based on a paper by W. T. Shaw. The simplex method is useful to generate random portfolios with the full investment constraint, where the sum of the weights is equal to 1, and min box constraints. Values for min_sum and max_sum of the leverage constraint will be ignored, the sum of weights will equal 1. All other constraints such as the box constraint max, group and position limit constraints will be handled by elimination. If the constraints are very restrictive, this may result in very few feasible portfolios remaining. Another key point to note is that the solution may not be along the vertexes depending on the objective. For example, a risk budget objective will likely place the portfolio somewhere on the interior.
-
-* The grid method to generate random portfolios is based on the gridSearch function in NMOF package. The grid search method only satisfies the min and max box constraints. The min_sum and max_sum leverage constraint will likely be violated and the weights in the random portfolios should be normalized. Normalization may cause the box constraints to be violated and will be penalized in constrained_objective.
--->
-
-  </article>
-  <!-- Presenter Notes -->
-</slide>
-
-<slide class="" id="slide-7" style="background:;">
-  <hgroup>
-    <h2>Comparison of Random Portfolio Methods</h2>
-  </hgroup>
-  <article data-timings="">
-    <p><img src="figures/rp_plot.png" alt=""></p>
-
-<!--
-This chart is a prime candidate for an interactive viz
--->
-
-  </article>
-  <!-- Presenter Notes -->
-</slide>
-
-<slide class="" id="slide-8" style="background:;">
-  <hgroup>
-    <h2>Comparison of Random Portfolio Methods (Interactive!)</h2>
-  </hgroup>
-  <article data-timings="">
-    <div id = 'chart3ff953ed51' class = 'rChart nvd3'></div>
-
-<script type='text/javascript'>
- $(document).ready(function(){
-      drawchart3ff953ed51()
-    });
-    function drawchart3ff953ed51(){  
-      var opts = {
- "dom": "chart3ff953ed51",
-"width":    800,
-"height":    400,
-"x": "sd",
-"y": "mean",
-"group": "name",
-"type": "scatterChart",
-"id": "chart3ff953ed51" 
-},
-        data = [
- {
- "name": "sample",
-"mean": 0.005906097560976,
-"sd": 0.01367140149733 
-},
-{
- "name": "sample",
-"mean": 0.005395590243902,
-"sd": 0.00877658709325 
-},
-{
- "name": "sample",
-"mean":     0.00633696,
-"sd": 0.01530876062846 
-},
-{
- "name": "sample",
-"mean": 0.005454934634146,
-"sd": 0.009342480794747 
-},
-{
- "name": "sample",
-"mean": 0.005462154146341,
-"sd": 0.01082273170881 
-},
-{
- "name": "sample",
-"mean": 0.005160046829268,
-"sd": 0.01245014017704 
-},
-{
- "name": "sample",
-"mean": 0.005812068292683,
-"sd": 0.01182347716442 
-},
-{
- "name": "sample",
-"mean": 0.005743990243902,
-"sd": 0.01671652240201 
-},
-{
- "name": "sample",
-"mean": 0.005489487804878,
-"sd": 0.01251340574844 
-},
-{
- "name": "sample",
-"mean": 0.00729904097561,
-"sd": 0.03474406146636 
-},
-{
- "name": "sample",
-"mean":     0.00637648,
-"sd": 0.01757479242372 
-},
-{
- "name": "sample",
-"mean": 0.006483923902439,
-"sd": 0.02179765723825 
-},
-{
- "name": "sample",
-"mean": 0.005853504390244,
-"sd": 0.0117852453618 
-},
-{
- "name": "sample",
-"mean": 0.006582751219512,
-"sd": 0.01692745993077 
-},
-{
- "name": "sample",
-"mean": 0.006115144390244,
-"sd": 0.02166030188959 
-},
-{
- "name": "sample",
-"mean": 0.006858505365854,
-"sd": 0.02798259012504 
-},
-{
- "name": "sample",
-"mean": 0.005386301463415,
-"sd": 0.008956039316718 
-},
-{
- "name": "sample",
-"mean": 0.005981261463415,
-"sd": 0.01844936221449 
-},
-{
- "name": "sample",
-"mean": 0.006148374634146,
-"sd": 0.01627804932233 
-},
-{
- "name": "sample",
-"mean": 0.00602503902439,
-"sd": 0.02053836674242 
-},
-{
- "name": "sample",
-"mean": 0.006616207804878,
-"sd": 0.0217932455486 
-},
-{
- "name": "sample",
-"mean": 0.006450615609756,
-"sd": 0.01585354160429 
-},
-{
- "name": "sample",
-"mean": 0.006039258536585,
-"sd": 0.01362582952814 
-},
-{
- "name": "sample",
-"mean":     0.00502792,
-"sd": 0.01156678773447 
-},
-{
- "name": "sample",
-"mean": 0.005271351219512,
-"sd": 0.01108345156902 
-},
-{
- "name": "sample",
-"mean": 0.005935452682927,
-"sd": 0.01712328768053 
-},
-{
- "name": "sample",
-"mean": 0.005235989268293,
-"sd": 0.01186777010221 
-},
-{
- "name": "sample",
-"mean": 0.005122770731707,
-"sd": 0.02073130778943 
-},
-{
- "name": "sample",
-"mean": 0.005291172682927,
-"sd": 0.009099439132556 
-},
-{
- "name": "sample",
-"mean": 0.006543488780488,
-"sd": 0.0181561399056 
-},
-{
- "name": "sample",
-"mean": 0.006258517073171,
-"sd": 0.01436772857906 
-},
-{
- "name": "sample",
-"mean": 0.006084650731707,
-"sd": 0.01399862437542 
-},
-{
- "name": "sample",
-"mean": 0.005340186341463,
-"sd": 0.00960184885972 
-},
-{
- "name": "sample",
-"mean": 0.005957743414634,
-"sd": 0.01307829304941 
-},
-{
- "name": "sample",
-"mean": 0.005538113170732,
-"sd": 0.01663656234208 
-},
-{
- "name": "sample",
-"mean": 0.00662016097561,
-"sd": 0.02594552838782 
-},
-{
- "name": "sample",
-"mean":     0.00534196,
-"sd": 0.008662877099472 
-},
-{
- "name": "sample",
-"mean": 0.005092221463415,
-"sd": 0.00956153759921 
-},
-{
- "name": "sample",
-"mean": 0.006521658536585,
-"sd": 0.02176425880496 
-},
-{
- "name": "sample",
-"mean": 0.005531332682927,
-"sd": 0.009915894996159 
-},
-{
- "name": "sample",
-"mean": 0.005336057560976,
-"sd": 0.01781675416901 
-},
-{
- "name": "sample",
-"mean": 0.006025773658537,
-"sd": 0.01550452150149 
-},
-{
- "name": "sample",
-"mean":     0.00522636,
-"sd": 0.01200408378228 
-},
-{
- "name": "sample",
-"mean": 0.006923875121951,
-"sd": 0.02754092326588 
-},
-{
- "name": "sample",
-"mean": 0.005298927804878,
-"sd": 0.01415334477157 
-},
-{
- "name": "sample",
-"mean": 0.006446935609756,
-"sd": 0.01542451543882 
-},
-{
- "name": "sample",
-"mean": 0.005898417560976,
-"sd": 0.01336566910871 
-},
-{
- "name": "sample",
-"mean": 0.005416930731707,
-"sd": 0.008886299844522 
-},
-{
- "name": "sample",
-"mean": 0.005450394146341,
-"sd": 0.01513787150306 
-},
-{
- "name": "sample",
-"mean": 0.006261063414634,
-"sd": 0.0213489769241 
-},
-{
- "name": "sample",
-"mean": 0.006326192195122,
-"sd": 0.01345677913653 
-},
-{
- "name": "sample",
-"mean": 0.005230170731707,
-"sd": 0.01039800381775 
-},
-{
- "name": "sample",
-"mean": 0.005589418536585,
-"sd": 0.01395430185092 
-},
-{
- "name": "sample",
-"mean": 0.006195075121951,
-"sd": 0.01460787227826 
-},
-{
- "name": "sample",
-"mean": 0.005182981463415,
-"sd": 0.01250541056048 
-},
-{
- "name": "sample",
-"mean": 0.005442625365854,
-"sd": 0.008767218400189 
-},
-{
- "name": "sample",
-"mean": 0.006409064390244,
-"sd": 0.02411640947991 
-},
-{
- "name": "sample",
-"mean": 0.006137657560976,
-"sd": 0.01695983256372 
-},
-{
- "name": "sample",
-"mean": 0.006066181463415,
-"sd": 0.01490499811823 
-},
-{
- "name": "sample",
-"mean": 0.00575215902439,
-"sd": 0.01397068192704 
-},
-{
- "name": "sample",
-"mean": 0.005133210731707,
-"sd": 0.01808660416776 
-},
-{
- "name": "sample",
-"mean": 0.006047716097561,
-"sd": 0.01234717210613 
-},
-{
- "name": "sample",
-"mean": 0.005652034146341,
-"sd": 0.01045110802473 
-},
-{
- "name": "sample",
-"mean": 0.005923327804878,
-"sd": 0.01444960259168 
-},
-{
- "name": "sample",
-"mean": 0.007118419512195,
-"sd": 0.03131568899772 
-},
-{
- "name": "sample",
-"mean": 0.007240245853659,
-"sd": 0.03418369306263 
-},
-{
- "name": "sample",
-"mean": 0.006966817560976,
-"sd": 0.0313959046869 
-},
-{
- "name": "sample",
-"mean": 0.005610578536585,
-"sd": 0.01009011257614 
-},
-{
- "name": "sample",
-"mean": 0.005806172682927,
-"sd": 0.01442601477403 
-},
-{
- "name": "sample",
-"mean": 0.00521531902439,
-"sd": 0.01212280205102 
-},
-{
- "name": "sample",
-"mean":       0.006395,
-"sd": 0.02033637248631 
-},
-{
- "name": "sample",
-"mean":      0.0069332,
-"sd": 0.02657827549708 
-},
-{
- "name": "sample",
-"mean": 0.006082705365854,
-"sd": 0.01508059825344 
-},
-{
- "name": "sample",
-"mean": 0.005902693658537,
-"sd": 0.01464990421923 
-},
-{
- "name": "sample",
-"mean": 0.005749187317073,
-"sd": 0.01047642131263 
-},
-{
- "name": "sample",
-"mean": 0.006370894634146,
-"sd": 0.01698103700003 
-},
-{
- "name": "sample",
-"mean": 0.00582335804878,
-"sd": 0.01255428380551 
-},
-{
- "name": "sample",
-"mean": 0.006386108292683,
-"sd": 0.01840549905806 
-},
-{
- "name": "sample",
-"mean": 0.006030874146341,
-"sd": 0.01489153367716 
-},
-{
- "name": "sample",
-"mean": 0.007015829268293,
-"sd": 0.02633912701968 
-},
-{
- "name": "sample",
-"mean": 0.005256590243902,
-"sd": 0.01813830903994 
-},
-{
- "name": "sample",
-"mean": 0.004861033170732,
-"sd": 0.01242870418517 
-},
-{
- "name": "sample",
-"mean": 0.00616683902439,
-"sd": 0.0134190964352 
-},
-{
- "name": "sample",
-"mean": 0.00552044097561,
-"sd": 0.01995322217338 
-},
-{
- "name": "sample",
-"mean": 0.005344167804878,
-"sd": 0.01249276595107 
-},
-{
- "name": "sample",
-"mean": 0.006944312195122,
-"sd": 0.03094996394259 
-},
-{
- "name": "sample",
-"mean": 0.005709683902439,
-"sd": 0.02008944668869 
-},
-{
- "name": "sample",
-"mean": 0.005507588292683,
-"sd": 0.009471833818711 
-},
-{
- "name": "sample",
-"mean": 0.005980793170732,
-"sd": 0.01424161697984 
-},
-{
- "name": "sample",
-"mean": 0.006338390243902,
-"sd": 0.01525518311313 
-},
-{
- "name": "sample",
-"mean": 0.005584166829268,
-"sd": 0.01238554386692 
-},
-{
- "name": "sample",
-"mean": 0.006530585365854,
-"sd": 0.01893791474742 
-},
-{
- "name": "sample",
-"mean": 0.005917526829268,
-"sd": 0.0117576798093 
-},
-{
- "name": "sample",
-"mean": 0.005864016585366,
-"sd": 0.01655911505553 
-},
-{
- "name": "sample",
-"mean": 0.006926223414634,
-"sd": 0.02420642969357 
-},
-{
- "name": "sample",
-"mean": 0.005399290731707,
-"sd": 0.02056543914454 
-},
-{
- "name": "sample",
-"mean": 0.00640028195122,
-"sd": 0.02137264941741 
-},
-{
- "name": "sample",
-"mean": 0.005461514146341,
-"sd": 0.01762152686007 
-},
-{
- "name": "sample",
-"mean": 0.007039103414634,
-"sd": 0.03122504848542 
-},
-{
- "name": "sample",
-"mean": 0.006821832195122,
-"sd": 0.02619879553557 
-},
-{
- "name": "sample",
-"mean": 0.004993843902439,
-"sd": 0.01198122578852 
-},
-{
- "name": "sample",
-"mean": 0.006103516097561,
-"sd": 0.01350758763076 
-},
-{
- "name": "sample",
-"mean": 0.005786282926829,
-"sd": 0.01443437059376 
-},
-{
- "name": "sample",
-"mean": 0.006671892682927,
-"sd": 0.02778425146432 
-},
-{
- "name": "sample",
-"mean": 0.006457287804878,
-"sd": 0.01774649556794 
-},
-{
- "name": "sample",
-"mean": 0.005800049756098,
-"sd": 0.01731791228213 
-},
-{
- "name": "sample",
-"mean": 0.005120011707317,
-"sd": 0.01280091104037 
-},
-{
- "name": "sample",
-"mean": 0.006417029268293,
-"sd": 0.01579030815516 
-},
-{
- "name": "sample",
-"mean": 0.006295890731707,
-"sd": 0.0139656042783 
-},
-{
- "name": "sample",
-"mean": 0.005947697560976,
-"sd": 0.0123511768328 
-},
-{
- "name": "sample",
-"mean": 0.00538051902439,
-"sd": 0.008624429889716 
-},
-{
- "name": "sample",
-"mean": 0.006456660487805,
-"sd": 0.01761235678259 
-},
-{
- "name": "sample",
-"mean": 0.005582221463415,
-"sd": 0.01242359665721 
-},
-{
- "name": "sample",
-"mean": 0.005283231219512,
-"sd": 0.01182940327739 
-},
-{
- "name": "sample",
-"mean": 0.005318529756098,
-"sd": 0.008428579825303 
-},
-{
- "name": "sample",
-"mean": 0.005319428292683,
-"sd": 0.01450353686632 
-},
-{
- "name": "sample",
-"mean": 0.005992733658537,
-"sd": 0.01894154667456 
-},
-{
- "name": "sample",
-"mean": 0.006467392195122,
-"sd": 0.01807150150961 
-},
-{
- "name": "sample",
-"mean": 0.005228575609756,
-"sd": 0.01303801325591 
-},
-{
- "name": "sample",
-"mean": 0.006675134634146,
-"sd": 0.0256810734039 
-},
-{
- "name": "sample",
-"mean": 0.005351736585366,
-"sd": 0.01750777459956 
-},
-{
- "name": "sample",
-"mean": 0.006336834146341,
-"sd": 0.01466928113291 
-},
-{
- "name": "sample",
-"mean": 0.006164117073171,
-"sd": 0.01346848591937 
-},
-{
- "name": "sample",
-"mean": 0.006348070243902,
-"sd": 0.01746022364796 
-},
-{
- "name": "sample",
-"mean": 0.005495809756098,
-"sd": 0.01489759482921 
-},
-{
- "name": "sample",
-"mean": 0.00619299804878,
-"sd": 0.01564950611988 
-},
-{
- "name": "sample",
-"mean":     0.00576512,
-"sd": 0.01483002187005 
-},
-{
- "name": "sample",
-"mean": 0.006405909268293,
-"sd": 0.01627800144614 
-},
-{
- "name": "sample",
-"mean": 0.006252002926829,
-"sd": 0.01678349354203 
-},
-{
- "name": "sample",
-"mean": 0.005193752195122,
-"sd": 0.01230771391625 
-},
-{
- "name": "sample",
-"mean": 0.006647406829268,
-"sd": 0.02089637177809 
-},
-{
- "name": "sample",
-"mean": 0.006570286829268,
-"sd": 0.02569342603477 
-},
-{
- "name": "sample",
-"mean": 0.005617349268293,
-"sd": 0.01208299947086 
-},
-{
- "name": "sample",
-"mean": 0.005695673170732,
-"sd": 0.01751201140833 
-},
-{
- "name": "sample",
-"mean": 0.007240692682927,
-"sd": 0.03454803203138 
-},
-{
- "name": "sample",
-"mean": 0.006226935609756,
-"sd": 0.01447583703919 
-},
-{
- "name": "sample",
-"mean": 0.005984812682927,
-"sd": 0.01445705209157 
-},
-{
- "name": "sample",
-"mean": 0.005403460487805,
-"sd": 0.008554485320639 
-},
-{
- "name": "sample",
-"mean": 0.006518557073171,
-"sd": 0.0252383748293 
-},
-{
- "name": "sample",
-"mean": 0.005510046829268,
-"sd": 0.01487583260405 
-},
-{
- "name": "sample",
-"mean": 0.006305067317073,
-"sd": 0.02344859509202 
-},
-{
- "name": "sample",
-"mean": 0.005406793170732,
-"sd": 0.01817284022158 
-},
-{
- "name": "sample",
-"mean": 0.006616509268293,
-"sd": 0.02421081568346 
-},
-{
- "name": "sample",
-"mean": 0.005255141463415,
-"sd": 0.008246196547481 
-},
-{
- "name": "sample",
-"mean": 0.00591192097561,
-"sd": 0.01352549073761 
-},
-{
- "name": "sample",
-"mean": 0.005262420487805,
-"sd": 0.01939992948068 
-},
-{
- "name": "sample",
-"mean": 0.005333221463415,
-"sd": 0.01914421850641 
-},
-{
- "name": "sample",
-"mean": 0.006363595121951,
-"sd": 0.01486201699103 
-},
-{
- "name": "sample",
-"mean": 0.005226049756098,
-"sd": 0.01079045508403 
-},
-{
- "name": "sample",
-"mean": 0.005726628292683,
-"sd": 0.01383303595789 
-},
-{
- "name": "sample",
-"mean": 0.004949989268293,
-"sd": 0.01104184363771 
-},
-{
- "name": "sample",
-"mean": 0.005946935609756,
-"sd": 0.01925615830945 
-},
-{
- "name": "sample",
-"mean": 0.004940317073171,
-"sd": 0.01245392244189 
-},
-{
- "name": "sample",
-"mean": 0.006011063414634,
-"sd": 0.01384711054575 
-},
-{
- "name": "sample",
-"mean": 0.006032950243902,
-"sd": 0.01840485563015 
-},
-{
- "name": "sample",
-"mean": 0.006222420487805,
-"sd": 0.01337809445406 
-},
-{
- "name": "sample",
-"mean":     0.00611268,
-"sd": 0.01675033419151 
-},
-{
- "name": "sample",
-"mean": 0.004954997073171,
-"sd": 0.02360202647776 
-},
-{
- "name": "sample",
-"mean": 0.006645309268293,
-"sd": 0.01767305111283 
-},
-{
- "name": "sample",
-"mean": 0.00523527804878,
-"sd": 0.01260935477394 
-},
-{
- "name": "sample",
-"mean": 0.005959460487805,
-"sd": 0.01400139401037 
-},
-{
- "name": "sample",
-"mean": 0.006362101463415,
-"sd": 0.02081757723132 
-},
-{
- "name": "sample",
-"mean": 0.006074605853659,
-"sd": 0.01275816867473 
-},
-{
- "name": "sample",
-"mean": 0.005257850731707,
-"sd": 0.01236709767601 
-},
-{
- "name": "sample",
-"mean": 0.005993686829268,
-"sd": 0.01526425051651 
-},
-{
- "name": "sample",
-"mean": 0.007252493658537,
-"sd": 0.03424496398379 
-},
-{
- "name": "sample",
-"mean": 0.005340578536585,
-"sd": 0.01284210081106 
-},
-{
- "name": "sample",
-"mean": 0.006070784390244,
-"sd": 0.01556227826644 
-},
-{
- "name": "sample",
-"mean": 0.005373927804878,
-"sd": 0.01322095885692 
-},
-{
- "name": "sample",
-"mean": 0.00513420195122,
-"sd": 0.02248157624949 
-},
-{
- "name": "sample",
-"mean": 0.005524028292683,
-"sd": 0.01797339232004 
-},
-{
- "name": "sample",
-"mean": 0.005891933658537,
-"sd": 0.0115315791109 
-},
-{
- "name": "sample",
-"mean": 0.006450907317073,
-"sd": 0.01732106139614 
-},
-{
- "name": "sample",
-"mean": 0.005552487804878,
-"sd": 0.009949923234234 
-},
-{
- "name": "sample",
-"mean": 0.006028711219512,
-"sd": 0.01222391415628 
-},
-{
- "name": "sample",
-"mean": 0.006369154146341,
-"sd": 0.01703959410902 
-},
-{
- "name": "sample",
-"mean": 0.005476135609756,
-"sd": 0.01467487269605 
-},
-{
- "name": "sample",
-"mean": 0.005985111219512,
-"sd": 0.01393563292097 
-},
-{
- "name": "sample",
-"mean": 0.00705231902439,
-"sd": 0.02697231629723 
-},
-{
- "name": "sample",
-"mean": 0.005098734634146,
-"sd": 0.01286976902406 
-},
-{
- "name": "sample",
-"mean": 0.004991663414634,
-"sd": 0.02359111504758 
-},
-{
- "name": "sample",
-"mean": 0.005197423414634,
-"sd": 0.01423691558694 
-},
-{
- "name": "sample",
-"mean":      0.0054938,
-"sd": 0.01092269496258 
-},
-{
- "name": "sample",
-"mean": 0.005740133658537,
-"sd": 0.01234332779875 
-},
-{
- "name": "sample",
-"mean": 0.00613080195122,
-"sd": 0.01383501623883 
-},
-{
- "name": "sample",
-"mean": 0.007015523902439,
-"sd": 0.03025514435444 
-},
-{
- "name": "sample",
-"mean": 0.004986826341463,
-"sd": 0.01144246619134 
-},
-{
- "name": "sample",
-"mean": 0.006330916097561,
-"sd": 0.01349039359162 
-},
-{
- "name": "sample",
-"mean": 0.00634711804878,
-"sd": 0.01995668121954 
-},
-{
- "name": "sample",
-"mean": 0.005303095609756,
-"sd": 0.01290205394932 
-},
-{
- "name": "sample",
-"mean": 0.006426306341463,
-"sd": 0.01753909413557 
-},
-{
- "name": "sample",
-"mean": 0.006151713170732,
-"sd": 0.02118497274382 
-},
-{
- "name": "sample",
-"mean": 0.006637795121951,
-"sd": 0.02160597080735 
-},
-{
- "name": "sample",
-"mean": 0.006705757073171,
-"sd": 0.02744618808125 
-},
-{
- "name": "sample",
-"mean": 0.006258802926829,
-"sd": 0.01772525017666 
-},
-{
- "name": "sample",
-"mean": 0.005828050731707,
-"sd": 0.01523502045133 
-},
-{
- "name": "sample",
-"mean": 0.006352624390244,
-"sd": 0.01358473356059 
-},
-{
- "name": "sample",
-"mean": 0.006764691707317,
-"sd": 0.02550677900924 
-},
-{
- "name": "sample",
-"mean": 0.006546197073171,
-"sd": 0.01960195693559 
-},
-{
- "name": "sample",
-"mean": 0.006139907317073,
-"sd": 0.01409660782933 
-},
-{
- "name": "sample",
-"mean": 0.005301692682927,
-"sd": 0.01186748189774 
-},
-{
- "name": "sample",
-"mean": 0.006136724878049,
-"sd": 0.02122342176426 
-},
-{
- "name": "sample",
-"mean": 0.006306112195122,
-"sd": 0.01435317973943 
-},
-{
- "name": "sample",
-"mean": 0.005873618536585,
-"sd": 0.01923259304378 
-},
-{
- "name": "sample",
-"mean": 0.006250077073171,
-"sd": 0.01379179336037 
-},
-{
- "name": "sample",
-"mean": 0.004922888780488,
-"sd": 0.01489715083025 
-},
-{
- "name": "sample",
-"mean": 0.006427101463415,
-"sd": 0.01408952273722 
-},
-{
- "name": "sample",
-"mean": 0.004951188292683,
-"sd": 0.0115633623419 
-},
-{
- "name": "sample",
-"mean": 0.006407373658537,
-"sd": 0.01391373537368 
-},
-{
- "name": "sample",
-"mean": 0.005684885853659,
-"sd": 0.009651408779645 
-},
-{
- "name": "sample",
-"mean": 0.006688029268293,
-"sd": 0.02625180105107 
-},
-{
- "name": "sample",
-"mean": 0.005711784390244,
-"sd": 0.01399959236788 
-},
-{
- "name": "sample",
-"mean": 0.005250656585366,
-"sd": 0.01141351952317 
-},
-{
- "name": "sample",
-"mean": 0.005426461463415,
-"sd": 0.008814991523909 
-},
-{
- "name": "sample",
-"mean": 0.005356850731707,
-"sd": 0.01064676886569 
-},
-{
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/returnanalytics -r 3390


More information about the Returnanalytics-commits mailing list