liveBook · Manning

Standard error

As explained in Experimentation for Engineers

A measure of the sampling variability of an estimated aggregate or statistic.

Standard error (SE) measures the sampling variability of an aggregate measurement such as a mean. A single execution-cost measurement can give conflicting exchange choices; replication reduces that instability by averaging many individual measurements. The estimated SE of an aggregate is sd_1 / sqrt(num_ind), where sd_1 is the standard deviation of individual measurements and num_ind is their count. More observations make the aggregate distribution narrower and its SE smaller. section 2.2.1 section 2.3.2

Estimating execution-cost uncertainty

Collect 300 execution-cost observations for each exchange, compute each mean, then compute its individual-measurement standard deviation and divide by sqrt(300). The resulting pair reports both estimated cost and its sampling uncertainty: ASDAQ yields about 12.00 mips with SE 0.060, while BYSE yields about 10.05 mips with SE 0.057. The SE describes uncertainty in each mean, not the spread of individual trade costs. section 2.2.1

For a comparison, propagate the uncertainty of two aggregate measurements as se_delta = sqrt(se_byse**2 + se_asdaq**2), with delta defined as the BYSE mean minus the ASDAQ mean. Dividing delta by se_delta produces a z score used to judge whether an observed difference is sufficiently far from zero under the equal-expectation assumption. section 2.3.1

Use SE operationally to control measurement precision:

  • Choose replication counts: sample-size calculations use SE to ensure a practically significant execution-cost difference can become statistically significant. section 2.3.2
  • Plan for power: a stricter design increases the required observations, using the combined individual-measurement variability and practical-significance target. section 2.3.2
  • Compare response-surface measurements: take many individual observations at each threshold so error bars on aggregate profit are small, while limiting the number of threshold settings measured. section 4.1.2
Listing 2.5 Aggregate measurement with SE
def aggregate_measurement_with_se(exchange, num_individual_measurements):
    individual_measurements = np.array(
        [trading_system(exchange) for _ in range(num_individual_measurements)]
    )                                                         #1
    aggregate_measurement = individual_measurements.mean()    #2
    sd_1 = individual_measurements.std()                      #3
    se = sd_1 / np.sqrt(num_individual_measurements)          #3
    return aggregate_measurement, se

The function computes an aggregate mean, estimates the standard deviation of its individual measurements, and returns the mean with SE scaled by the square root of the sample count. section 2.2.1

How Experimentation for Engineers covers it

How deep it goes
Derives SE from individual-measurement variability, implements it in NumPy, and combines two SEs for a difference.
Examples
Uses simulated ASDAQ and BYSE execution costs and markout-profit measurements at thresholds 0.5, 1.0, and 1.5.
What it assumes
Assumes familiarity with means, standard deviations, square roots, and individual versus aggregate measurements.
What you can do after
Apply it via NumPy to report aggregate uncertainty, compare alternatives, and size replicated experiments.
How it connects
Connects replication, standard deviation, aggregate measurements, z scores, statistical significance, power analysis, and response surface methodology.

Also explained in

Compare how 2 books explain standard error →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Experimentation for Engineers. The section links point to the parts of the book it draws on.