Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Writing human readable tests using Scala
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shannon
June 28, 2019
Technology
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Writing human readable tests using Scala
Shannon
June 28, 2019
More Decks by Shannon
See All by Shannon
Signify Bootcamp
signify
0
290
Event Sourcing Blockchains at TokenAnalyst
signify
0
150
The Last Frontier and Beyond
signify
0
150
Jon Pither
signify
0
250
How to write like Cats
signify
0
250
Kubernetes as a Streaming Data Platform with Kafka, Spark, and Scala
signify
0
99
Making Contracts Smart, Secure and Functional with DAML and Scala
signify
0
140
Ansible and Scala Projects
signify
0
290
Automatic differentiation in Scala by Xiayun Sun
signify
0
420
Other Decks in Technology
See All in Technology
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
iAEONの段階的リアーキテクト戦略 / iAEON's_Gradual_Re-architecture_Strategy
aeonpeople
0
210
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
130
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
200
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
1.1k
入門!AWS Blocks
ysuzuki
1
140
SONiC Scale-Up Working Group から探る Scale-UpやUltraEthernet機能の実装方法
ebiken
PRO
2
350
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
1.1k
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
170
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
150
2026TECHFRESH畢業分享會 - Lightning Talk - 打造精準高效的 MCP 設計模式與測試實務
line_developers_tw
PRO
0
1.1k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Utilizing Notion as your number one productivity tool
mfonobong
4
320
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Navigating Weather and Climate Data
rabernat
0
220
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Facilitating Awesome Meetings
lara
57
7k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
220
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
390
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Transcript
Cryptocurrency algo-trading testing in Scala by Bruno Bonanno
A set of green tests doesn’t necessarily means that the
software does what is supposed to.
Hello! I’m Bruno Bonanno Passionate developer, open source contributor, TDD
evangelist and creator of mockito-scala.
Agenda Market book Introduction to an order book & OMS
Our demouse case Challenges Live coding Q&A
Market book BIDS ASKS
Introduction to an OMS Order Management System Exchange 1 WS
API Exchange n REST API Exchange 1 REST API Exchange n FIX API . . . . . . Orders Orders Market Reports Market Data
OMS-123: Making money with arbitrage ASK: 1 BTC = 7900
USD Get 1.27 BTC ASK: 1 ETH = 0.03 BTC Get 42.33 ETH BID: 1 ETH = 250 USD Get 10582.5 USD Start with 10000 USD
Challenges • Integration: Different APIs • Exchange reference data: min
quantity, price rounding… • Trading logic: Do not buy 100000 BTC, Fills / Partial fills / Rejection… • External problems: Network failures, Market shutting down...
Glossary • Ask: Price at which we buy • Bid:
Price at which we sell • Order: What we want to execute in the market (bid/ask, quantity, currency pair, etc) • Market Report: What the market actually executed out of our Order (execution confirmation, rejection, etc)
None
Q&A
https://github.com/bbonanno/crypto-algo-trading-demo-test Thank you!