Investment Research: A Somewhat Cheeky Description Of My Research Process

Written and conducted by a non-savvy person who doesn’t invest in the market

Sean Byrne
4 min readFeb 16, 2021

Disclaimer: I’m not invested in the stock market. I don’t have a finance or business degree. I’m not a financial advisor. This is not financial advice and you should do your own research!

Anywho, thanks for bearing with me on that. Apparently, I have to say that.

So, why am I showing you these graphs or even writing about this at all? I guess, mostly because I’m a nerd. I like sharing work. I like showing how any simpleton, such as myself, can do high quality research to get insightful results. Like I mentioned above I didn’t study business or finance. I have a degree in biology with an emphasis in plants. Endearingly, I call it my B.S. of “Tree-hugger science,” but as the movies have shown us, botanists make great protagonists (The Martian, Avatar, Jurassic Park). Despite having no background in “money stuff,” I’ve been told by some industry professionals that I got some pretty awesome graphs. Their words, not mine. However, it’s not like I just stumbled on some data and these graphs appeared and they looked amazing. Nope, I know how everyone likes an overnight success, but that is not the case here.

To make up for my lack of background or education I had to go to some “real-deal” professionals. Usually that costs money and I’m broke. Fortunately, though, I happen to be related to three CPAs and an investment banker. Hooray!!!

Crummy Graphs

So I asked them, “money?” Once they realized I wasn’t looking for a handout they gave me some good starting places to begin researching. I got started and the first two graphs below were the first two graphs I made. They’re pretty crummy. Initially, I was kinda proud of them but when I reported to my professionals they just gave me some sympathetic, insincere compliments to protect my fragile little ego. I caught on and then reassured them that they could provide more honest feedback and didn’t have to worry about hurting my feelings.

P/E ratio superimposed on the 200 day moving average (first half of companies researched)
P/E ratio superimposed on the 200 day moving average (second half of companies researched)

For those of you that are like me and not well versed in the jargon of finance, allow me to explain the two metrics that I used in the graphs above. P/E ratio (green) is a measure of whether a company is overvalued or undervalued and the closer the P/E ratio is to zero the closer its stock price reflects its actual value. The 200 day moving average (pastel green) is the average price of the stock from the previous 200 days. By themselves these metrics, or any metric for that matter, don’t tell you much. One metric is typically not enough to tell you about a company. You need several metrics to paint an accurate picture. I’m sure there are people that disagree with that statement, but that argument is beyond the scope of what I’m writing.

Informative Graphs

So what do informative graphs look like? Let’s take a gander below.

I compared 64 different biotech and pharmaceutical companies and with all those companies on one graph the visual is kind of a clusterf***.

So let’s split them up.

So the above four graphs show all 64 companies. The companies chosen for comparison were randomly selected from a much larger list. These 64 companies only represent roughly one tenth of the actual list of biotech stocks publicly traded. In fact, some of the companies have gone bankrupt or been bought out but don’t have a bubble on the graph. You can see them as grey when you hover over some areas of the graphs. I left those in there for comparisons sake.

The redline represents the average price of the stocks on the graph and this was shown to differentiate the market movers.

Greener bubbles represent stocks with higher P/E ratios and the more purple bubbles represent lower P/E ratios. Furthermore, I added a few more metrics than just the P/E ratio and 200 day moving average. You can see those other metrics when you hover over each bubble. The x-axis numbers are just the index numbers of the stocks in the list I arbitrarily assembled, so they can be disregarded.

Regarding the P/E ratio, some pros have said the sweet spot is between 5 and 20, but I’m sure there’s differing opinions on that.

Anyway, I’m told the graphs are pretty neat and informative and that hedge fund managers pay good money for similar ones. I can’t verify that but I’ll take the compliment.

So, there it is. You don’t have to be financially savvy to do good research. All you need is some basic python programming skills and access to someone who does know about the financial stuff.

For the coders out there, the stock data was sourced from the AlphaVantage API. Below is the script I wrote to construct the bubble graphs above:

def make_bubble_graph(the_stuff):hover_text = []for index, row in the_stuff.iterrows():hover_text.append(('Name: {Name}<br>'+'Symbol: {Symbol}<br>'+'Exchange: {Exchange}<br>'+'52 Week High: {fiftytwoWeekHigh}<br>'+'52 Week Low: {fiftytwoWeekLow}<br>'+'50 Day Moving Average: {fiftyDayMovingAverage}<br>'+'200 Day Moving Average: {twohundredDayMovingAverage}<br>'+'PE Ratio: {PERatio}<br>'+'Last Closing Price: {LastClosingPrice}').format(Name=row['Name'],Symbol=row['Symbol'],Exchange=row['Exchange'],fiftytwoWeekHigh=row['52WeekHigh'],fiftytwoWeekLow=row['52WeekLow'],fiftyDayMovingAverage=row['50DayMovingAverage'],twohundredDayMovingAverage=row['200DayMovingAverage'],PERatio=row['PERatio'],LastClosingPrice=row['LastClosingPrice']))fig = go.Figure(data=[go.Scatter(x=the_stuff['index'],y=the_stuff['LastClosingPrice'],text=hover_text,mode='markers',marker=dict(color=the_stuff['PERatio'],size=the_stuff['200DayMovingAverage'],showscale=True))])fig.add_shape(type='line',x0=-20,y0=27,x1=180,y1=27,line=dict(color="Red"),xref='x',yref='y')fig.update_layout(title='PE Ratios of Biotech Companies<br>'+'Bubble size reflects the 200 Day Moving Average for the Stock<br>'+'Bubble color reflects the PE Ratio of the Stock',xaxis=dict(title='Redline indicates the Average Price for All of the Stocks Graphed',gridcolor='grey',gridwidth=2,),yaxis=dict(title='Stock Price',gridcolor='grey',gridwidth=2,),)fig.show()

--

--

Sean Byrne
Sean Byrne

Responses (1)