I made a comps generator, thoughts?


https://compsmaker (dot) com

It's kind of a proof of concept. Basically you provide the tickers of your comps, multiples are computed in ~5 sec and you get a nice football field. It should work with all non-financial companies listed in the US, UK and some European countries. I put some examples (click on the logos) so you can see what it looks like without having to enter tickers by yourself.


What do you think about it? Works best on PCs since the screen is larger. If you get errors/bugs/weird behaviors please let me know what tickers you used so I can look into it.


[if you get a "Bad Gateway" or if the connection cuts abruptly, that's because I restarted the system as I'm working on the code]

Comments (33)

Aug 25, 2020 - 6:27pm

Well in terms of resources it's hard to say, since I started coding at quite a young age and just worked on projects over the years, and that's how I gained experience. It has basically been trial & error and a lot of googling.

Now I'd say the best way to learn is first to understand the basics of the language (https://www.codecademy (dot) com/learn/learn-python ) such as functions, operators, types of variables, object-oriented programming, etc. Once you have a good understanding of "how to write" Python code, you can start using external libraries to make fun projects. I've heard very good things about this book https://automatetheboringstuff (dot) com/ . It deals with file and image manipulation, web scraping, GUI automation and many other things.

Once you have enough experience in Python, you just need Google to look up the errors you sometimes meet and correct them. Again, the best way to learn is to be project-driven. For instance, if you want to get all the titles of the threads posted on the first page of the IB forum, you'd do

web scraping

If you're interested in advanced web scraping you'd need to learn HTML/CSS (relatively easy) and how HTTP requests work (everything's on Wikipedia). Then you can do really cool things and create complex software. At some point it's more about efficiency, so you learn about multithreading to send 50 requests per second, but then your IP gets banned by the website you're parsing, so you have to learn about proxies and find the rate at which your proxies don't get banned. Trial and error, again.

(I haven't talked about the webpage per se, but it's just regular HTML/CSS/Javascript. The Bootstrap framework is used to generate tables, and Chart.js to generate the football field)

Aug 25, 2020 - 7:01pm

worked perfectly, i have no use for it at this point but this would've been nice a few years ago haha. nice work man.

"My name's Ralph Cox, and I'm from where ever's not gonna get me hit"
Aug 26, 2020 - 6:02pm

I thought about it, and it is indeed possible in theory. For instance the user clicks on a button and an XLSX file is generated. The thing is that the system would have to reproduce those tables cell by cell, which consumes a lot of RAM. If several users do that at the same time, the server would likely crash.

I'm working on an implementation in Javascript, so the user's web browser itself would take care of generating the file rather than the server.

Aug 27, 2020 - 7:04am

Works great! What's the syntax for adding companies from other geographies (say Brazil/India/Japan) or emerging markets? Apologies in advance if you've already mentioned and I've missed it.

Seems like this'll be great to have on hand when that oh-so-dreaded question pops up in meetings - "Hey what's with the run up on [insert piddly penny stock no one's ever heard of]" and you've to make sure your MD doesn't get egg on their face.

Aug 27, 2020 - 1:47pm

Thanks for your feedback! You should be able to do so simply by submitting their ticker. The option to specify which stock exchange you'd like to use is most useful if the company you're interested in is listed on several stock exchanges such as GlaxoSmithKline (NYSE:GSK and LSE:GSK) for instance. However, the system chooses the U.S. one by default so I would recommend using a stock exchange prefix for non-US stocks just in case.

I changed the code to allow the user to enter tickers containing numbers. You can try for instance 

ABEV3 - AZUL4 - BTOW3 - CCRO3 - BRFS3 - GGBR4 - NTCO3 - Brazil

4503 - 4208 - 5108 - 5333 - 5714 - 7004 - 9301 - Japan

Stocks from India (GODREJCP, TATAMOTORS...) are also supported, although data is sometimes lacking which means that some metrics cannot be computed.

Start Discussion

Popular Content See all

I can SB myself?
+57OFFby Intern in Investment Banking - Generalist">Intern in IB - Gen
Biggest Regret in Undergrad
+48IBby Prospective Monkey in Investment Banking - Mergers and Acquisitions">Prospect in IB-M&A
The lighter side of IB! (Hopefully)
+23IBby 1st Year Analyst in Investment Banking - Mergers and Acquisitions">Analyst 1 in IB-M&A
Virtual Summer Interns - which banks sent you WFH gear?
+17IBby Intern in Investment Banking - Industry/Coverage">Intern in IB - Ind
What is 1st year all-in comp for MMs?
+12IBby Intern in Investment Banking - Mergers and Acquisitions">Intern in IB-M&A
Making the first move as a woman?
+11OFFby Intern in Investment Banking - Generalist">Intern in IB - Gen

Total Avg Compensation

October 2020 Investment Banking

  • Director/MD (17) $704
  • Vice President (49) $326
  • Associates (265) $228
  • 3rd+ Year Analyst (36) $168
  • 2nd Year Analyst (147) $159
  • Intern/Summer Associate (136) $141
  • 1st Year Analyst (583) $129
  • Intern/Summer Analyst (558) $82

Leaderboard See all

LonLonMilk's picture
Jamoldo's picture
Secyh62's picture
CompBanker's picture
redever's picture
Addinator's picture
frgna's picture
NuckFuts's picture
bolo up's picture
bolo up
Edifice's picture