# Are there any standard techniques for adding realistic synthetic microstructure noise to a price series?

This may seem like a strange question, but for my particular application we need to actually add synthetic microstructure noise to real time charts. The signal should still be representative of the aggregate market direction.

I expect that a good technique would be something related to signal processing in electronics or sound engineering. They have white noise generators that can be restricted to a band. I would rather something far less complicated though.

Is it perhaps good enough to take a random percentage of the actual change from the last difference?

-

1
Can you expand on the application, the motivation or, if that's sensitive information, on general scenarios? In particular, (1) the relation (formal or heuristic) to band restricted WN generators and (2) what do you have in mind as a benchmark for "good enough" (again, formally or heuristically). – Ryogi Jul 11 '12 at 18:16
It's basically a gaming like situation where I need to present charts that respect the pattern and have real time feed updates but the prices must never actually be the real prices. I don't actually have a defined statistical envelope for the distance to the real price though. – barrymac Jul 12 '12 at 9:26

## 3 Answers

Why not use a Fair value model to predict prices and then randomly sample from the difference of the model and actual prices. The errors would be as good as your model

-

2
Fair value is hardly a concept applied to frequencies wherein microstructure noise is relevant. – Ryogi Jul 11 '12 at 18:17
I'm not familiar with fair value models but from my first scan around the net about it doesn't look like a dynamic enough technique. I did come across something relating to VIX futures though so I am happy to be corrected. Perhaps you could add a bit more information? – barrymac Jul 12 '12 at 9:30

I assume, this is not for real-time display, so you can use the price from future. If this is not the case, this answer is irrelevant.

I don't know about a standard technique, but this is my suggestion:

$p_{noise} = p_{current} + \nu * (p_{future} - p_{current})$

where $p_{future}$ is future price for some horizon, and $\nu$ is a zero-mean Gaussian noise.

-

BTW, this can also be applied on correlated portfolio. You need to generate the noise $\nu$ to reflect the portfolio's covariance – Serg Jul 12 '12 at 18:07
it is for real time display as it happens but in any case I think you can still do something like this based on past prices and would be fine, as long as V is in the right range. – barrymac Jul 13 '12 at 9:50
@Serg Is this (using the difference between future and current) any better than using the difference between previous and current? I.e. your answer implies that if the market is about to get more volatile (bigger jumps between prices) then there is more noise in current. Is that an observable phenomena? – Darren Cook Jul 17 '12 at 22:45

Maybe the accepted answer to this earlier thread and the more detailed description on my blog might be of use to you. Within the FFT you could just manipulate the higher frequency components to create your synthetic microstructure noise.

-
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 4, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": false, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9393215179443359, "perplexity_flag": "middle"}