Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: With a 9-5 job and 2 kids I have finally finished my first MVP
501 points by mrhichem on Aug 26, 2021 | hide | past | favorite | 194 comments
Hello HN crowd. I worked on this project on weekends and evenings. I'm excited I made it into a presentable MVP, and it is so satisfying.

I would like to get some honest feedback from this great community.

I made https://freeoptionscreener.com/, to scratch a personal itch. I myself trade options as a hobby, and I didn't find a screener that satisfies my need to be able to explore raw options data freely and without preset constraints. So I made this app that allows playing with options market data and extract interesting opportunities.

The techs used: - Laravel + Jquery + Mysql - Tradier API for market data - DigitalOcean for hosting - OVH for domain name

It costs me 5$/month to run the website. I'll be glade to continue if it proves to be a viable product in the long run and maybe I will take it to the next level and try monetize it. Note: the app is not suitable for phone screens yet, although this is a planned feature.



I don't know anything about trading options but wanted to say with a 9-5 job and 2 kids, getting any kind of MVP out is a great accomplishment. Well done.


Plot twist: his kids are all 20-year olds that learned to program, his 9-5 job is to teach/manage his kids to develop the MVP for him. ;)

Just kidding, OP. As someone exactly in your situation, congrats for shipping!


and his wife is the sucessful trader who hires him


The reality is probably that he has a lot of creative energy inside but by the time the kids, who are probably 3 and 5, are in bed and he's eaten his dinner and spent time with his SO, it's 8pm and he's shattered, but somehow, he's managing to pull what little energy is left and put it into his project.

And for that, I say kudos to him. It takes a lot.


8pm ?! By the time that the things you mention happen to me, SO, and 2 yr old for me it's more likely 11pm :/ Kudos to OP for pulling this out!


Too real, depends on the kids thou. Mine don’t want to sleep and by the time they fall asleep I have been already fallen asleep, woken up a few to accompany them to the bathroom or to fetch some snack as they are suddenly ravenously hungry… I guess there is not enough time to spend with my SO, or even less time for side projects at this time..


And now we have companies saying "we're not a 9-5" and even companies with "996" schedule which basically means "we discriminate against people with kids"


Companies declaring 996 is good in a way -- helps you filter them out (or in) depending on your preference. I think companies pitching "work life balance" but not subscribing to it in reality are worse. Better to know the deal upfront.

FWIW, early in my career I would welcome 996 as long as it came with rewards. Now I prefer high intensity, constrained 9-6, but with high scale.


Unless in China, unfortunately, if people filter out "996" companies there are not many decent options left.

In reality, companies in tech sectors don't declare themselves as "996", because they're by default "996". Companies that work 40 hours per week would declare themselves as "965" or "955" because it's rare and attractive.

Let's have a glance at how bad it is:

As an example, the work schedules for "FANG" companies are relatively sane. The counterparts in China would be "BATJ" (Baidu, Alibaba, Tencent, JD), and Uber-like counterparts (Bytedance, Meituan, Didi), their work schedule all largely exceeded 40 hours. The worse of them all is Pinduoduo, the very successful competitor to Alibaba's Taobao, they work 13 days before they get one day off (6 days on one week and 7 days on the other).

It's even uglier if we dig down to the rabbit holes:

1. Job with lower pay doesn't mean less working time, it's often the opposite.

2. "996" doesn't mean it stops are 9 pm. If a recruiter is being "honest" and says they're a "996" company, be prepared to work till 11pm for most of the days, and over midnight sometimes.

3. More often than not, the salary package IS the amount people get. There is no extra pay for overworking. People are working overtime because the deadlines are ridiculous and they don't want to lose their job, because most jobs are the same anyway and they have to go through the fierce competition process again.

4. The most toxic one: overwork for nothing. The leader of the team wanted to show his/her competency to the boss by letting everybody just sit there and overwork, even though there's no real task to be done at all!

At the bottom line, there are still a few decent options that like Google and Microsoft in China, but the competition is even more fierce.


I have one response to all that.. fuck that noise.

On that basis I work 864, but I guess in China people are just another natural resource from which to extract value, once all the value is extracted (burned out) they dump that person and take the next one off the heap. Its a sad state of affairs that the Chinese think that this work ethic sets them apart from the rest of the world. It does in a way, but what it really allows is for the chinese government and chinese companies to make them work longer for less and to feel like they are special for doing so.

There is a reason that the west has labour/employment laws that protect people from this sort of exploitation. Sad to see that the chinese people have fallen for this sort of bullshit.


It's the sad irony of collectivism. When you remove all concept of individual ownership and accountability in the name of universal equality, you've effectively destroyed the individual as a unit and just turned them into another resource to be taken advantage of, nominally for the good of the whole, but in reality for the good of the ruling party.


I don't think collectivism is at fault here. There are many places that are far more collectivist than the US but have extremely sane work schedules.

Germany comes to mind, in particular, as an example of how collectivism can actually help allow for sane work hours. I worked there for a few months. One of the things I deeply respected is that my co-workers were completely okay with the bakeries closing at 3:30pm, supermarkets closing at 6:30pm, being open for only 2 hours on Saturday, and completely closed on Sunday because "the supermarket employees also have families and need time to rest", words which you would almost never hear in the US. (In larger cities of Germany, supermarkets have longer hours, but rarely past 8pm or 9pm, and definitely never 24 hours like you often find in the US.)

What is at fault is rampant, extreme capitalism, which at that extreme milks humans of every last drop at the expense of their health, because their health is not a part of the financial optimization function at all. If you can profit by driving your employees to insanity, you profit, and that is deemed optimal by an extreme capitalist system.

(And before some social media flamewar-instigators accuse me of advocating for extreme communism, no, I'm advocating some balance between mostly captalism and some strong labor laws that everyone must abide by to maintain the physical and mental health of the country.)


Well let's not saddle up the high horse so quickly. The same sort of issues apply to the US where collectivism/socialism is certainly not the norm. There the individual is powerless in the face of corporations and they are similarly exploited, except now instead of the ruling party doing the exploitation it's the ultra rich who take advantage of the individual.


Oh good grief, does 996 mean what I think it does?


9 am to 9 pm, 6 days a week. This is most prevalent in China though, with their somewhat lax labor laws, I have never seen this in the western world (codified into a number like 996 I mean, I assume investment banking and the like pull >100 hours a week).


Having interned a long time ago in such a company:

No check in time - just arrive anytime before 10.

Lunch break is easily 2 hours, naps included.

Dinner break is another 1.5 hours, people would walk laps and sometimes play basketball.

Everyone hang around until 9PM because then there's free food and free rides home (also traffic is much better). only applies for weekdays, some people check in on Saturdays for a few hours.

Of course this is not busy time in general - when people do the real 996 for a bit - but that can't last, and everyone knows it.

I've heard the situation has started to change as well - hopefully it gets fully stamped out.


This has anecdotally been described as US work ethic to me. Ostensibly long hours and few vacation days but if you need to run an important errand on company time nobody will bat an eye.


Add good quality child care / babysitting and I'll sign right now.


> This is most prevalent in China though, with their somewhat lax labor laws

Like a lot of things in China, the problem isn't with the laws but the selective enforcement of it. The labour law says:

> 36 The State shall practise a working hour system wherein labourers shall work for no more than eight hours a day and no more than 44 hours a week on an average.

There's also a widespread practice of making employees who have been with the company for more than 8 years or so quit and rejoin after a month to bypass some other labour law provision I don't fully understand.


The Japanese actually have a word for death by over-work:

https://en.m.wikipedia.org/wiki/Karoshi


And they call themselves "communists" with their somewhat capitalist lax labor laws. What an irony.


Simpsons Already Did It™

https://youtu.be/zzt0xBXTNhI?t=200


Well, the US and Europe call themselves capitalist, yet there are huge barriers to enter some of the fields (e.g. in the Czech Republic the number of mobile operators is defined by law, essentially a state-imposed oligopol). Useless regulations (primarily EU), trade embargos, huge subsidies to companies which don't need them, absurd patents (my favourite one being Apple patenting the shape of a rectangle with rounded corners)...

So now what?


They are still adhering to Marxism. Capitalism is one step on the path. Next is socialism, then communism.


It depends. How do you like to spend 72 hrs of your week?


Just for the record: "996 was deemed illegal by China's Supreme People's Court on the 27th of August 2021" https://en.wikipedia.org/wiki/996_working_hour_system


thank you for the kind words


I have a friend in a situation like this who will fall asleep while coding late at night and sleep few hours. I don’t know how you (and he) do it, but awesome!


Second this. It's not only intellectually draining, emotionally too. Great job.


Came here to say exactly this. Great job! :)


Well done! Not an easy task


+1 - super achievment!


Congrats. It looks decent. My biggest knock though is "freeoptionscreener"

If you didn't post it here I would never click on something called "freeoptionscreener" . I would just associate it with all the junk/border line scams that infest the world of retail trading, especially retail options trading.

I would also say that I expect to pay something for quality in this space. Even if free I wouldn't mention it. It has a discount sushi feel.


Airbnb rebranded [1] and so can you. Ultimately, the important part is that you accomplished an MVP while juggling family, work and kids. Hats off to you mate. You should be proud.

[1]:https://blog.keycafe.com/the-history-of-airbnb/


I'd have called it "OPTIONSCOMMANDER.COM".


how about AlwaysInTheMoney.com


How about opchin.com?


opchan.com


opshine


your feedback is very important to me. I will consider changing the name for something else less "discount sushi". Thanks


consider picking a different font as well for the logo. does not have to be "vanilla" or overly safe. it's good to stand out, but the current font plays heavily into that discount feel.


Somewhat agree, somewhat disagree.

There are plenty of respected sites in the finance and options space with names like this. The reason it works is because the ad space itself in this niche is so valuable.

Where I agree with you is that it would turn me off when this inevitably becomes a SaaS product, and I would be turned off by the freemium aspect, while expecting it to have some kind of annoying freemium gimmick. The dangling of "Free" in the service's name would just make me expect that more. Currently I am pleasantly surprised that it actually is free, if I had randomly come across it on Google I would be pleasantly surprised as well. In the past, Tradier API was not available and services couldn't be free because the data was so expensive.

There are other criticisms possible, but they're in other comments.


The name just sounds scammy with the wire free in there. How about using a proper noun instead of the word free? Example: VenusOptionScanner or whatever


OptionScreenerBanana and a big yellow banana as a logo.

Replace banana with your favorite fruit.

You're welcome :D


cool name!


Congratulations. It's not easy! But it can be done. It depends on what your priorities are. Here's my tips from the time our new baby was born.

#1 Set aside time to work This is the important part, you can't "work when you're inspired". Set aside the 2-3 hours you need per day. At the time I had a full-time job and the baby was born. My partner at the time was a stay-at-home-mom, which helped a lot. But I had duties to be with the baby in the evenings -- feedings, etc. I watched a movie or series with my partner after the baby was sleeping, THEN I went to work when my partner was sleeping.

#2 Constraints are important Because of the minimal amount of time (few hours per day) you have to spend it wisely. In this case, I had a strong to-do list with few distractions. I would work on that list and try to finish a few items (completely) every night.

#3 No distractions No social media was consumed. No YouTube, no instagram, no twitter, tv off. Back in those days these services were just starting anyway, so things were kind of "new".

#4 Motivations Biggest motivator was my family. Living in New York City was not easy in a nice apartment and a family to support. I knew my side project HAD to work and it DID because I had NO choice. Even with an almost 6 figure job, it would not have been able to do everything, even in 2004.

At some point, you have to balance out things. You CAN't spend all your time with your family.

And you can't spend all your time with your job.

You have to have some time for each one. And where people fail badly, is when they spend quantity instead of quality time with kids or work.

Believe me, its best to spend less, but QUALITY time with your kids, rather then a whole lot of random time.

Your mileage will not vary.


Thanks for sharing! I'm somehow in the same situations struggling to find the right time slot (and motivation, because after work + parenting at the end of time I kind of feel tired) to work on my projects. I guess it's also important to keep the right balance between IT related work and non-IT stuff. Being in front of the laptop all day long is also not what I'm aiming for. Working in the garden, doing woodwork (in general using your hands rather than your brain) also helped to keep my inner balance and stay focused.


> but QUALITY time with your kids

Can you give an example from your life of quality time with kids vs quantity? I realize everyone will define quality differently.


Yes. I personally believe our job as parents is not to make our kids "happy" but to prepare them for a good life in their future (whether that's good, bad, zombie wars, alien takeover, etc).

So most of the time should be spent with teachable moments.

I don't mean being stern with your kids. Don't get it twisted.

I means even if you and your kid are enjoying a movie, pick the movies that teach some "real" lessons, not the Disney bulls*it.

It means if you are playing soccer out in the streets you're having a grand old time, but you're teaching your kid how to kick the ball with the side of their feet.

It means if you're playing music with your kid, you're telling them about the musician's life.

It means if your kid is coming to work with you, you're giving her something to do so she learns how your business works.

It means having deep conversations with your kid when you talk to him.

It means even as you congratulated your kid on catching their first fish, you already taught them how to tie the line to the hook and attach the worm.

Every moment you spend with your kid needs to be something that helps them -- WHILE HAVING FUN.

For that, you don't need to think you're a bad father, fathers are supposed to teach kids how to be moral, how to be honest, how to take responsibility. How to be valuable to the world.

Mothers are supposed to teach kids empathy.

Don't let society or TV tell you how much time you need to spend with your kids. That's up to you and your family, not some arbitrary thing that others tell you.

But above all, make sure the time you spend with them is very useful.


Parenting is about letting your children find and explore themselves. Not by teaching and telling them how life should be lived. It's a strong 2 way interaction. They must feel guided and respected in their journey of living a happy live. The parent is the soundboard for a child.


> fathers are supposed to teach kids how to be moral, how to be honest, how to take responsibility. How to be valuable to the world.

> Mothers are supposed to teach kids empathy.

Could you expand on why you believe it should be this way?


> fathers are supposed to teach kids how to be moral, how to be honest, how to take responsibility. How to be valuable to the world. > Mothers are supposed to teach kids empathy.

I'm sorry, what ?!


Are you surprised that someone on the internet has a value system that doesn't match yours?


The funniest part being that it's also parent stating :

> Don't let society or TV tell you how much time you need to spend with your kids. That's up to you and your family, not some arbitrary thing that others tell you.


No, but I am a bit surprised that someone coming out of a failed marriage is so keen on giving family advice to others.


I think Derek Sivers gives a good example in his blog post: https://sive.rs/pa

I know it's unrealistic for most dad's but a good ideas to strive for.

Edit: fix name


that's amazing message you've shared here. This alone equals the combined summary of atleast 3-4 self-help books.

Kudos to your focus, efforts, hard-work.


How do you mean this is your first MVP?

Looking at your post history, it seems you have been doing similar projects for many years:

https://news.ycombinator.com/submitted?id=mrhichem

What am I missing?


Benefit of the doubt: his last post was approx. 2 years ago, so it's possible to have two kids in the meantime and this is the first time since becoming a father to get an MVP out of the door.

Quite the accomplishment, I know how it feels...


Yes, thank you for your comment. I feel guilty saying it is my first MVP, but it truly is, as a father. I wish HN allowed changing post titles so I can replace "first" by just an MVP


Ah, so the accurate title is: I have finally finished my first MVP as a father with 2 kids and a 9-5 job


I can't see how that's relevant to him asking for feedback, you're being needlessly pedantic.


My motivation to ask is:

1: I really want to understand it. Why does someone say they "finally finished their first MVP" when they already have been doing Show HNs for similar projects for years?

2: I am a bit afraid that we will see an arms race of emotionalized Show HNs if it turns out that these get more upvotes. I wonder if this site would have gotten as many upvotes if it left out the "9-5 job and 2 kids" part. I think it is worth asking if we should allow sensationalized / emotionalized titles for Show HNs at all.


FWIW, I had the same reaction. The post title does literally nothing to describe the actual project, only some tangentially related circumstances under which the thing was developed.


Welcome to Hacker News


This is true. Previous projects are dead and were hobby projects just for fun. I see also some of my previously used domain names are being reused by someone else.


I have no idea what any of the site means!

But, I’d love to know you found time, I’m years behind on personal projects, 2 young kids as well - genuinely interested in how you made it work, I’m just shattered by the end of the day!

Upvote from me because if you can ship a useful tool whilst managing a family life then go you! Gratz!


First of all: congrats on shipping, not an easy feat.

Constructive criticism: I had no idea what this site was about until I spent a minute looking around.. and now I only _think_ I get.

Granted I am (probably) not your target market, however I think maybe a landing page or at least a popup tutorial - which I can then "Skip" at my peril would be a smart addition.


Counter point: as someone who plays with trading options as a hobby I instantly knew what this is!


Yep same here. I usually agree with the whole "your grandmother should get it" but don't think that applies here.


Same (but spent the last 4 years trading options as my main hobby)


There's loads of other places to learn about options trading, e.g. /r/thetagang. I echo the other commenter, I understood instantly what the purpose of this site is. A comparable site is optionsprofitcalculator.com which also has only a brief introduction.


I also didn't get it, however I only trade options once in a while. I don't know whether they should put a tutorial/about section, but I'd love to know what this is for, if anyone would care to shed some light.


I read the title as though achieving a 9-5 job and having 2 kids was the MVP. I like that interpretation as well :)


cool interpretation :)


Congrats.

Interface-wise, what a lot of people do now when facing a large number of filtering or sorting options is they collapse them and provide a summary with a filter button to pop them back out. This may reduce visual clutter. The description field information is also 100% redundant. Strike and other price columns should have a currency symbol. It is conventional to use either decimal point vertical alignment or right-alignment with fixed-width fonts when displaying numbers in series. Do not underestimate the value of color for comparing figures, eg. high vs. low volume or interest.

Some kind of clickable action to purchase brokerage via third party services for which you can obtain referral kickbacks might generate revenue.


very valuable feedback. thanks a lot


Dear @mrhichem - Thank you for posting this, I enjoyed using this. I've been selling theta for a while, so I can see how this would be helpful (myself, i use a python script to screen and change params via a json file)

Couple of comments:

- I also have a 9-5 and 2 kids, so totally understand how hard it is to do side projects beyond work. Congrats!

- The filters might be hiding this somehow, but I didnt find ETFs i'd expect like the SPY ETFs or GLD, etc, even though I set off all the filters

- The Strike should have a slider and an entry box ideally because some strikes go into single digits or way beyond the scale, the slider is too restrictive in 5s for low-priced stocks and the max is too low for things like TSLA

- The table header really needs to be aligned with the sort arrows, I cant tell which column i'm sorting on

- You noted that "Prices are updated every 3 hours" -- did you price out DO costs if you used real-time data from Tradier? I imagine you might have more bandwidth, but it would probably be reflective of a more active screening approach. I found good theta selling opportunities dont come that often and I usually look at the vol surface for IV bumps through the day.

- As a follow-up to the above, curious if you use it as a screener and then enter orders manually or auto-execute? Would you auto-execute really rich opportunities?

- Curious if you've actually made money selling theta. I've made money, but I do believe that just buy-and-hold would be more profitable in most cases because you miss so much upside on option writing strategies unless you have a clear band with high conviction


Thank you for your valuable feedback and questions. Indeed some ETF are not showing although they are in the DB, needs checking. - An entry box is something to add, thanks for pointing out. - Real-time data from Tradier is costly. I was looking at IBKR and maybe I will switch to their API. But anyhow real-time is an overkill for now, maybe in the future. - Yes for entering orders, I use Tastyworks. I first validate the opportunities with real time data and enter the trade on the Tastyworks platform. - I actually made decent profits from selling Theta. The trick is to not overtrade and be ok if a week passes without making a trade. But my main investing strategy is a Buy and hold on a world index.


Congrats! Looks really interesting, I do see a few data issue e.g. NVDA Sep 17 2021 $405.00 Put NVDA(Stock) put 726.44 405 321.44(44%) 2021-09-17(61d) 2 3 0.98 1.29 0.0000 0.0000 0.0000 0.0000 2.000

Have you looked into https://optionstrat.com/


Going a bit off-topic here, but I can't be the only one who doesn't know what these numbers mean... So, what do these numbers mean?

NVidia? Sep 17 2021? $405? (Current price appears to be 220.68)

Also I can't find NVDA anywhere on the page right now. Tried to fiddle with various options without really knowing what I'm doing. Is it gone now?


first off set the top left expiration to "ANY" (for ease of use to find results easier), then search the ticker symbol at the bottom right.

Nvidia in your example would be the underlying equity that the options derivative contract is based on

sept 17 2021 is the expiration date of the contract

405 is the strike which is the price at which the contract allows you to buy or sell (depending on if the options contract is a Call or Put contract)


thank you for spotting this issue. And for the link, definitely useful.


(paraphrasing amyunus) I immediately opened this thread after reading the title. I imagine that having a 9to5 job and kids makes doing nearly anything else impossible.

Expecting a video game or some social media thing I don't know about or care about, I yelled "F'k yeah!" out loud when I got to "www.freeoptionscreener.com". :D

Options trading is one of my deepest "non work related" hobbies. :) Bravo, OP, and I agree, it's hard to find a good screener.

A lot of us are re-inventing the wheel. It feels like every so often I see a post on /r/options or /r/investing of a new screener, because nothing off the shelf (and free) does the job. There's got to be a better way. I don't know what it is, my naive guess would be an open source one, with sufficient data adapters (because we can't legally share the data :P).

I have a long list of moderate to difficult to add features (I'm writing my own screener as well...), but some minor ones: Price slider could scale exponentially, or have the option to do so. Strike slider could be a "moneyness" slider -- the signed difference between the strike and the spot. DTE could be a date/calendar selector. Could be useful to have HV of the underlying as well.

In contrast to other comments, please don't waste your time adding things that explain what a screener is to people who don't already use a screener. There are enough of those out there already.

Again, congrats on shipping!


"With a 9-5 job and 2 kids I have finally finished my first MVP ...

I worked on this project on weekends and evenings."

I can't wait until my kid is old enough that I can really work on stuff when watching them on nights and weekends.


I cant wait until my 2 kids are old enough that they can also commit code to our shared project. One seems to have a predilection for it.


That does sound kind of nice. If it's a hobby that could be good. I would be concerned about it turning into a profession for them, because for me it's been nothing but disappointment and stress. I'd rather work with them on physical projects, like carpentry or leather working.


Congratulations on finishing your first MVP, it's difficult to do with the obligations of everyday life.

Some food for thought:

1. There are a lot of screeners out there, and most of the data itself is not valuable. You have to scrub some subset of data for interesting things to stand out based on your criteria.

But most of that criteria is widely common.

Consider: Adding additional filters which prepopulate common screening criteria. You have two so far, but maybe you can think of more.

2. There are a lot of data points that are far more important than some quick statistics you can pull off of data brokers.

For instance, almost no screener provides CAGR on stocks. But a lot of people want to know what the CAGR was for the last 1, 3, 5, 10, 10+ years for a given equity. It's a stupidly common metric. No one provides it.

I imagine for options, there are other very commonly discussed metrics people really care about, versus things like the Greeks.

Consider: Find out what those metrics are that no one provides, calculate them, then provide them.

Ultimately, software that helps you do a job better is OK. Software that does your job is great. Do great.


How did you balance the responsibilities of being a parent, especially in terms of the endless chores, and the time commitment to make this happen?


I always put work on my project second behind being parent and husband. I sometimes wakeup early before staring my job. sometimes late nigh before going to bed after my kids sleep. Working from home covid policies also helped reducing commute time. I made small but contineous progress each day.


This is far and away the most encouraging part: that you pulled off an ambitious goal while still keeping your priorities family-aligned. As someone with two very young, very closely spaced kids & ambitions to build something, I needed to see this. Thank you.


I'm so curious about your daily routine. When do you wake, work, work2, chores and sleep? What is your agreement with your partner? How old are your kids and what do you find that they ask for you specifically for?


I’m in the same boat. A 9-5, 3 kids and several responsibilities, and trying to work on some side project ideas. What are some tips for finding time, energy, and motivation for working on this.


Do the hard part in the shower.

In other words, spend more time away from the computer thinking architecturally or planning next steps, sometimes taking notes for later. Save the actual coding (or other direct work) for executing the plan. This makes everything easier, especially if you are used to 4+ hour coding sessions and/or you have constant interruptions (i.e. kids).

Don't stay up late cramming code - wake up early instead. "Sleep debt" is the technical debt of parents. Avoid it or you will waste time staring blankly at the screen at 2am.

Schedule time to work on it, like on your calendar. Treat it like a real thing that is a valuable use of your time and not an activity like playing XBox.


But where do you get your data from? Is it live/delayed? I thought option data was not free to be redistributed which is why these websites don’t exist in the first place.


A few tips I use to work a few hours per day on side projects: Skip TV, don't watch any news or read newspapers, have an ambitious goal and foresee time to learn new skills or technologies.

I can take days in this way to learn something new or to solve a bug, but spending a few hours per day over 6 months really adds up.

When tired from your day job and feeling full from diner your body wants to be in the couch. But when you open your laptop, put on lounge music in the headphones, magic happens after 10 mins: you actually feel refreshed and happy you can work on something you like or learning some new things. The difficult part is to start.

I never work on my side projects in my home office, but put myself in the kitchen or in the living room with the rest of the family. Although I can't use my second screen, it's still refreshing to be away from the home office desk.

Do a simple calculation of how many hours of productive work you do during the day. With all interruptions, meetings, small talk.. you'd be lucky if you get 2-3 hours of focus time. You can easily get to 2-3 hours of quality time in the evening. So in fact it's the same net effect of a full normal workday, and you can work on stuff you like.


My experience in cutting out all the junk like TV to make productive time for myself is that it wasn’t sustainable. I tend to work on side projects to amuse myself, but sometimes even when I am willing to hack on something, my brain is just too burned out. Remember not to overtax yourself; downtime and unproductive time isn’t just waste.


You are right of course. I do watch netflix but we try to make a conscious choice about a great series or a nice Anthony Hopkins movie or so. Just switching the thing on and loosing a few hours makes me feel bad.


Cool project!

Not to hijack your thread but I want to leave some thoughts as a former vol trader.

Anyone trading options more than lottery tickets should really invest time into learning about BSM/greeks and some more advanced options structures and vol strategies.

For instance, if you paper traded a delta neutral book simulating a market maker, you’d understand how options pinning works (it’s not manipulation, it’s a side effect).


> For instance, if you paper traded a delta neutral book simulating a market maker, you’d understand how options pinning works (it’s not manipulation, it’s a side effect).

Great comment. With added apologies for hijacking, is there any resource you'd recommend with nuggets like the above? Is there any better way to learn than slowly paper trading and testing different things over long time spans? I'm interested in vol trading and dispersion strategies, but the lack of easily available historical data makes it difficult to run experiments.


There is no better way than doing. It’s not slow. These things will hit you like a freight train. You either get vol or you don’t. For me, the first month of running my own options book taught me more than all my derivs/vol classes in school combined.

You can read about convexity until you’re blue in the face, but you won’t really get it until you watch the interaction of every leg in your book and the resulting risk/pnl. Once you see that, it’s like ascending to a higher plane.


Much appreciated! Talking out loud, as you obviously know all this:

> You either get vol or you don’t.

I think I get it, on a conceptual level -- option prices include the market's expectation of future underlying variance, so if you subtract/hedge-out everything else, you can trade that fluctuating expectation. With dispersion, you're taking advantage of index options and those of the components eventually converging, while being mindful of the changing correlation of components.

> you won’t really get it until you watch the interaction of every leg in your book and the resulting risk/pnl. Once you see that, it’s like ascending to a higher plane.

You're spot on. I can tell I'm missing something "clicking" at a more intuitive level in my head, something that feels close, because my book almost does what I expect, but.. there's always some "error" in the pnl at the end of the week. So I must be missing an "aha" moment.

> There is no better way than doing. It’s not slow.

My "real job" skills (C/C++, numerical programming, systems engineering) I only learned by doing, I guess no reason to expect this would be any different! Though, I can easily write and test code on my laptop with no consequences if it's wrong. I feel like I'd learn fast if I could set up a trade experiment, click a button, and then see how it fared at the end of the week, immediately, instead of waiting the week. I've got dozens of questions I think would be answered quickly that way.

But you're right, the path to learn more is clear, I'm gonna start paper trading those experiments.

Thanks for your comment, it's really encouraging. I can't wait for Monday.


> my book almost does what I expect, but.. there's always some "error" in the pnl at the end of the week. So I must be missing an "aha" moment

Depends what that thing is, but most likely you're not. If your pnl/risk expectations have the correct direction, and rough magnitude, I would say you're doing pretty well.

What sort of strat/structures are you wearing at the moment?


I've seen entire careers and departments devoted to collecting this data for the purposes of backtesting strats.

You could start collecting it starting today, but you wouldnt have a huge back-test and it wouldnt reflect different regimes. It would regardless start giving you insights.

I'd guess the best ways to learn it are either doing it and learning bits over time, or joining a hedge fund where you get it all as common infra and learn there.

I'm also curious if anyone has ideas here. I havent seen a non-internal historical dataset.


> I've seen entire careers and departments devoted to collecting this data for the purposes of backtesting strats.

Very true. The best quant shops don’t have the smartest people, they have the most data and the best systems. Everyone has smart people. Not everyone has great infra.


I don't have idea what it is. But first, congrats! I immediately open this thread after reading the title. Having 9to5 job and kids (2!), it is truly hard making time, even you make it to finish the MVP. Applause!

- I spot a typo on the About description, should be opportunities. - Email us to contact@go2.broker? - I'm not sure why expiration date 2021-08-27 has 2d


Thanks for spotting the typos. for the dates It was mentioned in some comments earlier. It depends on whether to count the current day in the DTE calculation. It is something to fix


I love your stack choice. Simple boring and obviously very functional.


Indeed.


You stated "Tradier API for market data". As far as I know, any market data that you get from a provider is FOR YOUR OWN PERSONAL USE ONLY, AND YOU ARE FORBIDDEN TO REDISTRIBUTE IT IN RAW OR PROCESSED FORM.

I'm willing to bet you are violating a license agreement (and cartel of market data providers but that's another story) and won't be long until you either:

1) Shut down your website. 2) Are facing a lawsuit which will have you pay through the nose. Think working the rest of your life to pay for "infringement".

Every now and then I see some naive schmuck pulling a "free market data!" website, which lasts a couple of weeks till they find out what they're dealing with.


"I see some naive schmuck". Chill man, why the hostility? I'm only using free data to test it. I have no problem start paying for their API if the idea is validated.


Nice work!

I was looking for a way to screen for unusual option volume (Volume noticeably above Open Interest), but didn't see a way to do that directly. I do see the filters for Volume and Open Interest, and I can play with those in various combinations to see what I want, but I think something like a single filter that allowed viewing all contracts where Volume > Open Interest would address this in a more direct way.

p.s. I know the level of commitment required to launch an MVP, and to grow and support thereafter. I had a job at the time, and it was a lot to juggle. I don't think I could have done it if I also had a family. I wish you the best of luck moving this forward!


Nice.. I've java program somewhere that draws the profit and loss over time and price with color code for profit/loss. (price on y , time on x). Can be a nice feature to have. my 2c


Indeed. can be useful. Have this feature down on the features backlog.


Upvoted for persistence alone :) Congratulations on shipping.


First off, congratulations! I've been at similar project for years, though not options. Few things 1. I would consider adding an info icon next options greek that shows what they mean 2. Not sure if you plan to support it, but just listing options for a given stock should be a baseline feature (understand it is not so much of a screener, but it is natural to compare to against others)

Where do you source your data from and is this realtime ?


Before I've even checked it out: Congrats on shipping!!!! I know how hard it is to get something done with the constraints of a day job & family.

I read SO many comments on here from folks lamenting their lack of energy + time to do something like this despite the desire to do so. So 10000 congrats on pushing through and getting something live.

Now to actually check it out (and I'll come back and update this comment with actual feedback ;)


thanks. looking forward for the feedback.


Using color to describe information ranges is an excellent way to add a passive dimension of information, and allow people to screen out inferior choices.

"Dimming" the entire screen on a choice change is extremely visually distracting. A small spinner on the data sheet would be an excellent indicator that "this data is about to change".

Excellent tool, I'm going to play around with it tonight.


feedback like this is the reason I love this community. definitly considering going by your remark


Cool site, and congrats for shipping!

Some minor nitpicks:

1. I filtered to ITM but got options that were out of the money in my results

2. Rather than needing the 10,30,50,any moneyness picker, why not a slider?

3. In fact, there should probably be a slider for Delta… it’s really difficult to find options that are near or at the money since sorting by delta either starts at 1 or 0

4. I didnt see a CSV export button anywhere?

Overall nice job though!

[edited for spacing]


4. Part of the paid strategy


Great business model right there


very valuable feedback. A slider for delta is my next feature to implement. But afraid of too many sliders that might be confusing.

You can sort by ITM/OTM column to find near or at the money options.

The CSV also is something I should add.


If you had a delta filter I would never use the ITM/OTM setting. It is useful to have the % ITM/OTM in the output, but not as a filter, for my use case.

In case it helps, my normal filter is something like:

- Type: PUT

- Days to expiration: 20 - 40

- Delta: -.30 - -.20

- Open interest: >100

- Premium: >$1

- Underlying price: >$50

- IV: 10% - 30%

That gives me a range of out-of-the-moneyness I'm looking for, but I don't care what the absolute % is.


I appreciate a lot your feedback.


Thanks! It has proved to be very useful. Can you please put a link or reply to this comment detailing the source of the data? I don't care about the staleness but the accuracy of the data. I would like a more nuanced accuracy also, if possible, e.g. data from 3 hours old is really 3 hours old and not 5-6 hours old etc.


Ex option trader here. This is really cool, I'm impressed you were able to do this in your free time. It takes a lot of work behind the scenes to present something like this with a simple interface.

One idea I thought of would be to compare the realized vols with the implieds that you've already got.


Thank you for the feedback. Can I ask how one can use this volatility comparison in his options trading? Please enlighten me, any resource on this ?


Basic options theory:

- Non-linear payout means volatility matters to what the option costs: even though the distribution of future returns may be symmetric, option is worth something because it either goes to zero or +ve.

- Black-Scholes is the first step in quantifying what the value the asymmetry gives the option. Clearly, more vol means option is worth more. But also all the other Greeks fall out of it and are intuitive: theta accelerates towards expiration, interest rate/div moves the price, etc.

- When you're trading an option, you're trading the vol. All other numbers (rate/div/time/current price) are fixed, vol is the only degree of freedom.

- If you're long a call, you can sell some underlying to give your profit-vs-price graph a nice bowl shape. Same if you're long a put, you can just buy some underlying and whatever the market does, you will make money. When the market moves up, you make money. When it goes down, you make money. Now and again when you've made some money, you flatten your delta (sell high, buy low) and you're back at the bottom of a new bowl, and you can keep locking in gains. This is called being long gamma.

- Sounds nice, doesn't it? What's the downside? As time passes, the option loses value because there's less time for it to move a lot. If you don't manage to buy low and sell high enough to lock in the price of the option, you've net lost money.

- So what determines whether you will be able to do this trick, or perhaps the opposite (sell options and hope not to lock in losses)? The relationship between the implied volatility the option was bought for and the actual volatility that happened over the time that you had it.

The standard books on this:

Natenberg Hull Wilmott


I think I broke it while my keyboard (iOS) auto filled a word or two and then I just see white and a spinner.


Excellent mvp, congratulations and with 3yo and 5yo I can completely relate to what it takes to push through. Blessing to be around kids and also making your side projects going live. I have few questions, can I email especially about market data extending to other indexes.


I don't have a job(close to two years), spouse and kids. I have been working on some random ideas, reading tech blogs, browsing HN but nothing has emerged yet. I'm ashamed that I couldn't get anything out. You look like GOD to me.


Dude, this is #RAD, if the kids at Reddit's WallStreetBets get a hold of this, your hosting bill will soar to $500/month!

Good job, you got your MVP, now it's time for some Customer Development. Who knows, there's a pivot in your future.


i would be more worried about reddit's r/thetagang


Big congrats, huge milestone!

I'm in a similar spot. I've always had side projects, but they really slowed down now with two kids (toddler and infant) plus a 9-5. Getting an MVP shipped is a huge accomplishment. Congrats, very happy for you!


whats your data source for options data? is this intraday, real time? or historics?


Tradier API. Their free api has a 15 minutes delay with a limited threshold per minute.


Congratulations on shipping.

It is no mean feat around a day job and a family.

Nice work getting over the hump!


thanks.


This is great - I was trying to calculate option profit for something a few months ago and it was a huge pain using the free options I found on Google so I think this might have legs. Best of luck.


thanks


Didn't see this question asked, but how long did it take you to put together. Not people-hours but between when you first put code down to when you were done -- 6 months? 2 years? Thnx


It took me exactly 4 months to reach this milestone


Can I contribute to your repo? I know only Scala but I have need of more features like OI, volumes, etc and backtests to find UOA. you can reach me at eamocanu on GitHub or gmail


Backtesting would require historical data - it looks like this project may only have access to live data?


Yes. backtesting is such a complexe tool. I usually use Tastworks for backtesting after filtering out some instruments with a screener.


What are OI and UOA?


Open Interest and Unusual Options Activity


I suggest using Black Box Stocks system for a while to learn what works well for them. (They make a killing, but the main value for many members is in their Discord).


Love this! Minor nit: days to expiry for expiring tomorrow shows (2) and presumably (1) for options expiring today. I think usually this is denoted 1 and 0 (DTE)


Former hedge fund trader here: this is correct.


Do you mean that options expiring today should have a DTE equals 0 ?


Yes.


Maybe a possibility to view the 1y/1mo/1day chart of the underlying stock would be nice. A chart of the option itself would also be nice.


Congrats. What an awesome accomplishment as a single mother.

Inspiring.


I like the numbers inside slider thumbs, haven't seen that one before! Otherwise not qualified to comment on functionality


thanks.


Interface looks great. One thing I noticed when checking the source: you're including your main app.css file twice.


Congratulations. It’s an incredible endeavor to get anything launched, much more so given the context.


Take my money, I’ve been looking for a good options screener, this build is too good to be free


How much are you willing to pay monthly for a tool like this ?


Very nice tool. I didn’t even know that you can trade options on ETFs. Thanks for the insight.


Very nice! What's the data source for the greeks? Are you computing those yourself?


I'm using Tradier API for market data. Greeks included. I don't do any calculations.


one small change i would make. the ticker search and the "show entries" should be switched. more intuiting and in line with other financial platforms.

ticker search is usually bottom left across any programs and sites i have every used to trade.


I agree. noted


I love the look of your application. It looks beautiful in a utilitarian kinds of way.


Kudos for getting this MVP out with a family and a full-time job… not an easy feat.


Kudos for doing this! You bring hope to others in this community. Thanks :)


Looks good! Small typo, Open Intereset -> Open Interest :)


oh my god.thank you for spotting it. will fix this right away


congrats man that's awesome. A question.. how do you communicate with your wife/children that you want to work "extra"


Thank you for your comment. I work when they are not around. Also my wife is very supportive. Time with family is not negotiable.


Well done!


nice tool, good luck!


congrats!



I've made the link clickable in the OP now. Thanks!


Very nice.

I am running a similar site, and I wonder whether it isn't a bit overwhelming to have all the bells and whistles on the one page, upfront. In my experience, you get tons of bounces because people don't know (yet) what your site is for (but as someone who does know what options are, it does look useful). I don't think there is any single "answer" though.

My "solution" in the past has been either to break up all the options into a sequence of choices (so the user only has to make one choice at a time, rather than worry about all the other knobs and dials/what they do/what they have missed), or (where possible) divide the choices between pages in some way that makes sense (this wouldn't make sense in this case but you would do puts and calls on separate pages).

Would be interested to hear any other solutions though. I do these kind of sites (tables, lots of things to select, lots of data) almost exclusively and so I am always looking for more solutions.

Some other thoughts: maybe make the top bar smaller to give yourself more room.

I am not a big fan of centred data in tables because the spacing can feel irregular. And I would try to standardize column title length (for example, using abbreviations/tooltips) so your spacing is even too. My eye is drawn immediately to the underlying price column because of the gap created by centring/title length, which isn't good because this isn't really an important column. I would also consider working out which column is most important and making that more prominent (if possible) so the table is scannable (another option is hiding some columns, again I am not sure how this fits with your vision for users but is the user scanning rows and only needs to look at the delta later? Some of your columns are clearly duplicated in the description too, do you need separate columns for bid/ask...lots of options I think to cut the table down a bit...I have a 15" laptop and 10 columns feels like a lot).

Finally, very minor point, but I wonder whether the font on the unselected multi-select buttons is too light...it is very, very slight but just blends a bit too much with the background, imo (generally, the colour scheme/contrasts for your selections are excellent, I feel my eye is drawn to the right places and nothing is distracting).

Well done though. I think there is a huge niche for these kind of financial information products.

EDIT: Open Interest is spelt wrong in the table's column headers.


> I do these kind of sites (tables, lots of things to select, lots of data) almost exclusively and so I am always looking for more solutions.

How do you deal with displaying a table with 10-20 columns on small screens? It compares similar objects across different metrics and a single column is either a grade (A-F) or a number.

The best I came up with so far is collapsing rows into cards, but it sucks when you want to compare them with each other. For example finding objects with grade A or B in a certain column.


Ah yes, that is quite a problem.

I would consider carefully if it is really worth it for you. Making tables responsive is utterly hellish.

But what you can do is make the table horizontally scrollable. This isn't too complex but, of course, it creates a new problem which is: what do you do if the user needs to look at one col at the start of the table and one col at the end? In the cases where I have added scrolling, I froze the first col (which gets a little involved when you have to freeze the first col and then scroll all the others). It is tricky, afaik there are no library impls of this, but there are no other options if you have a really data-heavy website and mobile users.

A strong implementation of horizontal scrolling with first col freezing is the NBA's stats website - https://www.nba.com/stats/player/201566/

Doing cards is a definitely an option in some circumstances but if you are building an application where the user needs to scroll through rows then it becomes problematic. For example, if you have a website like the NBA...it makes sense (I think) to do cards for a team's upcoming matches...you don't need to display a whole lot of information (the opponent, the date, the venue), users aren't going to scroll through 20 rows. But if you are doing a player's stats with lots of columns and users might want to go back 10 years and compare AST today with AST 10 years ago...then cards aren't a good solution.


> Making tables responsive is utterly hellish.

It really is.

I briefly considered sticky/frozen columns, but I wanted sticky headers too - which I think are important too. In your NBA example it's difficult to tell what the numbers exactly mean without scrolling back to the top. I researched a few options some time ago, but all of them were complicated or flat out not working. Datatables.js had a crazy workaround: the fixed columns were separate tables styled to look like they are part of the main table.

I ended up with a summary view that had just 3 columns, so no side scrolling was necessary. There was a filter option, where users could select other columns that interested them. Not perfect, but it turned out ok.

The hunt continues.


Thank you for your feedback. What made me make this screener is what you called "sequence of choices" I found on most other screeners. What I wanted as a user was to have full control on screening criteria. Maybe it is overwhelming for some. But from my point of view the more I had criteria the better


Totally agree with your remarks regarding the interface.


"I would like to get some honest feedback from this great community."

1. I would add a simple explanation of how to use the Screener when you get the time.

2. Then again maybe you don't want amateurs getting in over their heads in options?

I still think there are a lot of people out there interested in Options, and will never actually blow their money on such a risky endeavor, but want to be educated on your app.

3. You app looks better than the other one's I looked at, and not requiring a login is nice.


Thanks for the feedback


[criticism not allowed]


Please don't be a jerk in HN threads, and especially not in Show HN threads, where it's even more against the guidelines than it usually is:

https://news.ycombinator.com/showhn.html

https://news.ycombinator.com/newsguidelines.html


This negative comment got me thinking about why I liked the original post so much.

The URL of the product itself very clearly tells us what the product is (at least, if you are in the target audience)

So many web apps have inscrutable names. This is just refreshingly clear, it's a free option screener .com!


> Prices are updated every 3 hours, last updated at 2021-08-26 19:08:24 EST

Just a heads up, a free TD Ameritrade account has a screener in the ThinkorSwim software that is like this and more robust with 15 minute delayed data.

There is plenty of room for differentiating features though.


This is correct. But TD Ameritrade is not open for certain european nationalities. My application to open an account was declined. I would have loved to play with their screener.


> It costs me 5$/month to run the website

Is the MySQL database inside of the DigitalOcean droplet that also serves the website? Always an option, just find that super uncommon nowadays. Databases are the most costly part of many microservice stacks right now.

I could do this for free on Vercel, but any caching such as with a database would be on an external compute instance and cost more than $5.


Yes, the DB is inside the droplet. Not super optimal, but for now it works fine.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: