๐ Congrats on completing Part 1 of the application! After completing Part 2, you will receive additional steps via email. The instructions are outlined below.
You must complete either the General Research, Algorithmic Trading Team, or Investment Team take home by September 9th at 11:59pm.
Of course, we are first and foremost students so we do not expect you to pour hundreds of hours into the take home. Instead, we ask you to spend at most 4-6 hours on this.
Please submit your completed take home as a .pdf
file here.
Completing the team-specific (Algo Trading, Investment) take home option is only required for those interested in joining that team. If you complete a team-specific take home, you do not need to also complete a General Research take home.
๐ง General Research
Possible Skills to Demonstrate: Deep Research, Technical Writing
This team is looking for researchers interested in pouring over articles online and capable of writing engaging articles.
- Explain a complex topic simply
The topic should be related to technology and be something you learned outside of class.
When explaining the topic, assume we are a 0 in understanding & take us to a 4! So:
- Keep things simple.
- Build up your explanations from first principles โ assume we know nothing, introduce/explain foreign words, & guide us as we learn.
- Be personable โ crypto can be scary, so IB researchers have to make these topics approachable!
The explanation can be in a format of your choice: blog post, video, tweet thread(s), commentary supplemented with other resources or anything else you think would work!
- The objective of this exercise is to be engaging & understandable โ so pick what you feel most comfortable with. Remember, this is meant to be shared with newbies.
Here is an amazing example by @Jiya Maheshwari
๐ Trading Team
Possible Skills To Demonstrate: Algorithms, Machine Learning
The algorithmic trading team welcomes applicants with an interest in the market and an understanding of algorithms for high frequency trading.
Creating a simple market-making algorithm requires understanding of trading, market dynamics, and programming. Market making typically involves continuously quoting both a buy (bid) and a sell (ask) price for an asset, profiting from the bid-ask spread, and also adjusting to market conditions. Here is a rudimentary outline for such an algorithm.
We are providing you with some helper functions to help aid the process
GetRealTimePrice()
Retrieves the latest market price
GetOrderBook()
Returns the current order book containing the best bid and best ask price
IncreaseSize() and DecreaseSize()
Adjust the size of the orders based on the current inventory position
DefaultSize()
returns the standard order size if no adjustments are needed
PlaceOrder(price, size, type)
Places an order with the specified price, size, and type(buy/sell)
ScheduleNextRun(function, interval)
Schedules the next iteration of the main market-making function
You will also be given some constant variables as well
target_spread = CONSTANT_VALUE
//e.g. 0.01 for 1 cent spread on a stock
inventory_target = CONSTANT_VALUE
//desired inventory size
max_position = CONSTANT_VALUE
//maximum allowed position
current_position = 0
initializes current inventory size, starts at 0
Part 1 : Pseudocode
Using the given information, draft pseudocode for a market-making algorithm that posts bid and ask orders based on the target spread
and manages inventory based on the inventory_target
Part 2 : Adjustments for Market Situations
Describe how you would adjust the algorithms behavior in the following scenarios:
- Increasing Volatility: The assetโs price starts moving more erratically and unpredictably
- Low Liquidity: There are fewer market participants, leading to larger gaps in the order book.
- News Event: An external news event is anticipated to have a major impact on the assetโs price in the short-term
- One-sided Market: Most traders are either buying or selling, but not both, leading to a skew in the order book
- Price difference across exchanges: Algorithm detects different prices for same asset across different exchanges
- Technical Glitch: The data feed goes down momentarily or the data becomes unreliable
Your responses for this section should be formatted as follows:
Adjustment: In this case the algorithm should โฆ
Reasoning: Because โฆ
Part 3: Machine Learning Model
You are developing an algorithm which involves training a machine learning model based on the history of a cryptocurrency/stock price data. This algorithm also involves having to remember that data of a certain crypto/stock, in order to predict the next price movement of the same crypto/stock.
What are the best machine learning models you would utilize for this task and why?
Final Instructions/Evaluation Criteria
Instructions:
- Your pseudocode should be clear, logical, and easy to follow
- You donโt need to write an actual functioning code, but it should be comprehensive enough that a developer can convert it into one
- For Part 2, provide a brief explanation, maximum one paragraph per scenario detailing the adjustments and reasoning for said adjustments
- For part 3, provide a written response of at least 2 paragraphs
Evaluation Criteria:
- Understanding of market-making principles
- Clarity and logic of pseudocode
- Ability to adapt and react to different market scenarios
- Understanding of Machine Learning Principles
- Overall presentation and organization of ideas
๐ธ Investment Team
Possible Skills To Demonstrate: Technical Writing, Deep Research, Fundamental Analysis
The investment team is looking for researchers who possess a strong interest in blockchain and Web 3 investment research, and we are seeking candidates who can conduct thorough due diligence on the financial metrics of various tokens and protocols.
As a part of this application process, we ask that you prepare a report that analyzes a token you believe holds promise and growth potential.
We recognize the time limitations, so we ask that you offer concise due diligence insights and ensure the report stays within a 750-1000 word limit (max).
The intention is to provide you with insight into our investment assessment process and offer a preview of our team's methodology. A list of potential metrics is provided below for consideration in your due diligence report. Moreover, we've included a sample report from a past semester for guidance. It's important to note that the example report shared was the result of an entire semester's work. While we don't anticipate such depth, your report should provide a basic understanding. We eagerly anticipate reviewing your submissions!
Here is an example project from last semester :
- Introduction
- Explain why you're evaluating this cryptocurrency.
- Briefly introduce the cryptocurrency and its importance.
- Project Overview
- Describe what this cryptocurrency project is all about.
- Explain what it wants to achieve and why it matters.
- Technology and Innovation
- Talk about the technology behind the cryptocurrency.
- Highlight any cool features or new ideas it brings.
- Token Utility
- Explain what the cryptocurrency's token is used for.
- Describe how people can use it for transactions or other things.
- Market and Competition
- Discuss where this cryptocurrency stands in the market.
- Mention who its competitors are and what sets it apart.
- Team and Partnerships
- Introduce the main people behind the project.
- Tell if they have any important partnerships.
- Tokenomics
- Explain how the cryptocurrency's tokens are given out.
- Discuss any plans to control how many tokens there are.
- Roadmap and Achievements
- Share what the project has done and plans to do.
- Talk about any big milestones it has reached.
- Community and Adoption
- Mention how many people are interested in this cryptocurrency.
- Tell if any businesses or groups are using it.
- Risk Assessment
- Say what problems or challenges the cryptocurrency might face.
- Suggest how they could handle these issues.
- Conclusion
- Summarize the most important things you found.
- Give your opinion on whether it's a good idea to invest in this cryptocurrency.
๐ Final Notes & Submission Logistics
Worry about the quality of the content, not the length. Again, this is for us to get a gauge on how you approach explaining complex topics to new people.
We ask to not spend more than 4-6 hours on this assignment.
Upon completion, submit it using this link. Please complete and submit by September 9th at 11:59 pm.
You are always welcome to reach out to [email protected] if you have any questions.
We wonโt answer questions if we think you should be able to figure out the answer on your own, but youโre free to ask!
Best of luck!
Illini Blockchain Researchers