Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create new introduction chapters #145

Draft
wants to merge 20 commits into
base: main
Choose a base branch
from

Conversation

christophscheuch
Copy link
Member

This PR is WIP until each new chapter has a full first draft.

@christophscheuch christophscheuch added new chapter R Concerns the R version labels Dec 16, 2024
@christophscheuch christophscheuch self-assigned this Dec 16, 2024
@christophscheuch christophscheuch linked an issue Dec 16, 2024 that may be closed by this pull request
@voigtstefan
Copy link
Member

voigtstefan commented Jan 27, 2025

  • tidyfinance requires extra packages when downloading data. I suggest to mention this at least in the very beginning to avoid confusion.
  • I am slightly opposed to the naming "daily_*" for the annual summary stats. It is not incorrect but it confused me. I'd rather call it "mean, sd, min, max", the "units" are in the year row anyhow.
  • The first time we print the output in the console (annual summary stats) could be a nice place to refer to the growing documentation on great tables to open a path for reproducible documents without going that path ourselves in the book (and we can justify this in the book saying that we show plain output to focus on finance, not on layout).
  • In the first chapter, we sometimes use the term "vector" (of symbols, lag returns a vector) and I don't think this is necessary. "An arbitrary number of symbols" would do the job in scaling up the analysis.
  • evt. tidyfinance issue: download_data delivers 504 constituents even though according to Wikipedia only 503 stocks are listed.
  • Some of the figures are of minor interest, IMHO. E.g., the separate figures for means and sd of DOW30 constituents, which show up in the efficient frontier anyhow. Same for the time series of Nasdaq 100. Here I would download the data, compute the sample mean return and use it is an input to the "optimization", not more.
  • We make a statement a la "note that mu_bar should be higher than mu_mvp". We should justify why this is the case (Ill take it on my todo-list).
  • We basically already proof the separation theorem (I'll make this more explicit), so we should also refer to the proof when bringing it up.
  • The equation with w_efp = alpha * .. + (1-alpha)* ... needs more explanation (Stefan ToDo)
  • Is ggrepel really such a game changer in this application? I see the values for the storyline in a presentation but we don't use the information highlighted by ggrepel in our chapter at all.
  • General question with map(): Do we use ~. or (x) throughout?
  • The first time we use map() we should explain a bit more.
  • As of PortfolioAnalytics: I don't see the value of this short part at this stage. It would either fit better in the chapter on Portfolio Choice and backtesting or as a standalone appendix chapter. Right now, we just show that we did our math right, so I would not support bringing these new packages up in an introductory chapter.
  • more of an opinion: I don't see the value of these takeaway paragraphs in the end. If we really want this, I would put them in the beginning. After I read the chapter I don't need a wrap up anymore, IMHO. Cochrane is bringing the takeaways in the beginning of each section, I think this could be cooler (but I think everybody can live without these repetitions).

@dsforecast
Copy link
Collaborator

  • Sometimes variables are defined outside the pipe: quantile_05 <- quantile(returns |> pull(ret), probs = 0.05)
  • We should highlight that the index constituents are always only current constituents and not historically accurate members. This might lead to some problems
  • In the returns chapter, the aes and geoms statements are not explained. This does not happen before or after. Generally, I like that we explain many lines of code also in the text. We just are very short on describing the functionality of individual functions, so we should be easy with asking questions about that.
  • Maybe we should also think about the tone of our book: For example: "However, don't try this if you are not prepared to wait for a couple of minutes because this is quite some data to download!" sounds a little too easy going for my taste.
  • In the return chapter, the data examples are a little few and also not super interesting. Maybe we can brainstorm about that a little bit more. The stylized facts offer some more nice plots etc. We might even use the open high low close data from Yahoo!?
  • I like the portfolio chapter and that we use estimates. However, why not replace "While past performance does not guarantee future results, the typical assumption is that it is at least indicative of future performance and hence a sensible estimator." with "How to estimate mu and sigma will be subject in the later chapters, here we only focus on the mean-variance portfolio optimization part... The finance literature about estimating returns and minimizing estimation errors is enormous.[Some good reference]
  • Why do we not explain the change in the sample period in the modern portfolio chapter?
  • The minimum variance portfolio almost falls from the sky. We should write some more about it and how it serves as a benchmark (my ToDo list)
  • Somewhere in the chapter it says: We can see that the efficient portfolio dominates the minimum-variance portfolio in both dimensions. What do you mean by that?
  • We should write about why extending the Markowitz framework is important (my ToDo)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new chapter R Concerns the R version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create new introduction chapters
4 participants