Close Navigation
Learn more about IBKR accounts
Central Limit Theorem explained in Python (with examples) – Part III

Central Limit Theorem explained in Python (with examples) – Part III

Posted March 9, 2021
Ashutosh Dave
QuantInsti

See Part I and Part II to get started.

Now we want to see how the sampling distribution looks for this population. We will consider two cases, i.e. with a small sample size (n= 2), and a large sample size (n=500).

First, we will draw 50 random samples from our population of size 2 each. The code to do the same in Python is given below:

# drawing 50 random samples of size 2 from the exponentially distributed population
sample_size = 2
df2 = pd.DataFrame(index= [‘x1’, ‘x2’] )

for i in range(1, 51):
exponential_sample = np.random.exponential((1/rate), sample_size)
col = f’sample {i}’
df2[col] = exponential_sample

# Taking a peek at the samples
df2

sample 1sample 2sample 3sample 4sample 5sample 6sample 7sample 8sample 9sample 10sample 41sample 42sample 43sample 44sample 45sample 46sample 47sample 48sample 49sample 50
x13.3084237.1058070.7878592.8116020.2551615.0852787.2539752.5491911.3181330.65943013.01746510.2809061.8632084.0009351.1195821.6408257.2421270.80704411.7976884.585229
x22.9694891.0829943.3829713.4744948.9498350.9935947.3351355.5292223.7608361.6909198.6900131.4685300.3769540.1671184.1001100.2559271.7549063.6471591.8835231.101046

2 rows × 50 columns

For each of the 50 samples, we can calculate the sample mean and plot its distribution as follows:

# Calculating sample means and plotting their distribution
df2_sample_means = df2.mean()
sns.distplot(df2_sample_means);

We can observe that even for a small sample size such as 2, the distribution of sample means looks very different from that of the exponential population, and looks more like a poor approximation of a normal distribution, with some positive skew.

Stay tuned for the next installment, in which Ashutosh will repeat the above process, but with a much larger sample size (n=500).

Visit QuantInsti for additional details and to download full code: https://blog.quantinsti.com/central-limit-theorem/.

Disclaimer: All investments and trading in the stock market involve risk. Any decisions to place trades in the financial markets, including trading in stock or options or other financial instruments is a personal decision that should only be made after thorough research, including a personal risk and financial assessment and the engagement of professional assistance to the extent you believe necessary. The trading strategies or related information mentioned in this article is for informational purposes only.

Disclosure: Interactive Brokers

Information posted on IBKR Campus that is provided by third-parties does NOT constitute a recommendation that you should contract for the services of that third party. Third-party participants who contribute to IBKR Campus are independent of Interactive Brokers and Interactive Brokers does not make any representations or warranties concerning the services offered, their past or future performance, or the accuracy of the information provided by the third party. Past performance is no guarantee of future results.

This material is from QuantInsti and is being posted with its permission. The views expressed in this material are solely those of the author and/or QuantInsti and Interactive Brokers is not endorsing or recommending any investment or trading discussed in the material. This material is not and should not be construed as an offer to buy or sell any security. It should not be construed as research or investment advice or a recommendation to buy, sell or hold any security or commodity. This material does not and is not intended to take into account the particular financial conditions, investment objectives or requirements of individual customers. Before acting on this material, you should consider whether it is suitable for your particular circumstances and, as necessary, seek professional advice.

IBKR Campus Newsletters

This website uses cookies to collect usage information in order to offer a better browsing experience. By browsing this site or by clicking on the "ACCEPT COOKIES" button you accept our Cookie Policy.