4

Yes, there is... BUT... it’s a ton of effort, that is very unlikely to ever make any material difference. The problem here isn’t so much that different calendar months have different numbers of calendar days. From any year to the next, different years will have a different number of trading days, depending on the accident of when weekends and public ...


4

As indicated by @AlexC and @amdopt, the formula is exact for log returns and approximate for discrete returns. Define the factor by which a price changes as $k$ so that price tomorrow $P_{t+1}$ is the price today times $k$ : $P_{t}*k$.Then the change in the price over a business year is $$\prod_{i \in [1, 252]}{k}$$ The log of the change is by properties of ...


3

Using only words and no equations: Knowing the Variance (or standard deviation) of a Brownian Motion we can calculate the uncertainty in the future position of a particle. Knowing $\sigma^2$ and assuming the particle starts at $S_0$ we can say that $S_T$ will be in $[S_0-1.96 \sigma, S_0+1.96 \sigma]$ 95% of the time. In other words 95% of the trajectories ...


2

As long as you use the same observation period (month, year, or whatever you choose) for all components in the formula, you're good. So the three parts of it Correlation coefficient Standard deviation of the stock Standard deviation of the market all need to be calculated over the same period, e.g. a month or a year. So you could look at long term ...


2

The returns (or rather alphas, i.e. returns relative to the benchmark) plotted are logarithmic returns, not the simple returns usually reported by investment managers. This makes them additive over time. The green line is a straight line with slope 18% (the expected annual alpha). The thin purple curve is $\sigma \sqrt{t}$ above and below the green line, ...


1

Essentially you are creating a mapping, or a function here. In the first instance you had a maximal score of 10, and you mapped as follows: $$f(volume) = \left \{ \begin{matrix} 10* volume/200, \quad volume < 200 \\ 10 * 1, \quad volume \geq 200 \end{matrix} \right .$$ You have coded this in JS as (where 200 is upper_lim): var test = 10*Math.min(...


1

Since it is your model you can do anything. What I would do is use some dynamic outlier exclusion. For example in this case you know the min is zero. One method (of many) might be to evaluate the median (since it might be more robust that the standard deviation or mean) and use 2 x median as your upper limit: >>> arr = np.array([100,200,19,0,200,...


Only top voted, non community-wiki answers of a minimum length are eligible