Associate, Structured Products Strategies
Posted 5 days ago
Job Description
Application Deadline:
02/26/2026
Address:
100 King Street West
Job Family Group:
Capital Mrkts Sales & Service
BMO Capital Markets is a leading, full-service financial services provider. We offer corporate and investment banking, treasury management, as well as research and advisory services to clients around the world. #bmocapitalmarkets
About the Role:
We're looking for a pragmatic, detail-oriented Software Engineer to help build and maintain our Quantitative Investment Strategy (QIS) Calculation Engine - the core platform that powers the calculation of quantitative indices (levels and decompositions), risk modeling, scenario analysis and prototyping across Global Markets. You'll work across a modern C# codebase with critical Python interop for research pipelines, numerical routines, quick prototyping, backtesting, and data science tooling. Expect to collaborate closely with quants, traders, and software engineers to deliver resilient, event driven, auditable systems at scale.
What You'll Do:
Must-have
Salary :
Pay Type:
Salaried
The above represents BMO Financial Group's pay range and type.
Salaries will vary based on factors such as location, skills, experience, education, and qualifications for the role, and may include a commission structure. Salaries for part-time roles will be pro-rated based on number of hours regularly worked. For commission roles, the salary listed above represents BMO Financial Group's expected target for the first year in this position.
BMO Financial Group's total compensation package will vary based on the pay type of the position and may include performance-based incentives, discretionary bonuses, as well as other perks and rewards. BMO also offers health insurance, tuition reimbursement, accident and life insurance, and retirement savings plans. To view more details of our benefits, please visit: https://jobs.bmo.com/global/en/Total-Rewards
About Us
At BMO we are driven by a shared Purpose: Boldly Grow the Good in business and life. It calls on us to create lasting, positive change for our customers, our communities and our people. By working together, innovating and pushing boundaries, we transform lives and businesses, and power economic growth around the world.
As a member of the BMO team you are valued, respected and heard, and you have more ways to grow and make an impact. We strive to help you make an impact from day one - for yourself and our customers. We'll support you with the tools and resources you need to reach new milestones, as you help our customers reach theirs. From in-depth training and coaching, to manager support and network-building opportunities, we'll help you gain valuable experience, and broaden your skillset.
To find out more visit us at https://jobs.bmo.com/ca/en .
BMO is committed to an inclusive, equitable and accessible workplace. By learning from each other's differences, we gain strength through our people and our perspectives. Accommodations are available on request for candidates taking part in all aspects of the selection process. To request accommodation, please contact your recruiter.
Note to Recruiters: BMO does not accept unsolicited resumes from any source other than directly from a candidate. Any unsolicited resumes sent to BMO, directly or indirectly, will be considered BMO property. BMO will not pay a fee for any placement resulting from the receipt of an unsolicited resume. A recruiting agency must first have a valid, written and fully executed agency agreement contract for service to submit resumes.
02/26/2026
Address:
100 King Street West
Job Family Group:
Capital Mrkts Sales & Service
BMO Capital Markets is a leading, full-service financial services provider. We offer corporate and investment banking, treasury management, as well as research and advisory services to clients around the world. #bmocapitalmarkets
About the Role:
We're looking for a pragmatic, detail-oriented Software Engineer to help build and maintain our Quantitative Investment Strategy (QIS) Calculation Engine - the core platform that powers the calculation of quantitative indices (levels and decompositions), risk modeling, scenario analysis and prototyping across Global Markets. You'll work across a modern C# codebase with critical Python interop for research pipelines, numerical routines, quick prototyping, backtesting, and data science tooling. Expect to collaborate closely with quants, traders, and software engineers to deliver resilient, event driven, auditable systems at scale.
What You'll Do:
- Own the engine: Design, implement, and optimize components of the QIS engine (e.g., factor models, signal pipelines, backtesting, scenario analysis, portfolio optimization).
- Interop & integrations: Build robust C#/Python interop layers (Pythonnet or equivalent) to bridge production services with research scripts generated by quant team.
- Data engineering for quant: Develop reliable market data ingestion, normalization, and metadata/versioning (symbols, corporate actions).
- Performance & reliability: Profile and tune CPU/memory, parallelism (TPL/async), caching, and I/O; ensure deterministic, reproducible runs with comprehensive logging and telemetry.
- Model lifecycle management: Operationalize quant models-parameterization, configuration, feature flags, release management, and controlled experiment frameworks.
- Testing & quality: Implement rigorous unit/integration tests, regression suites against golden datasets, and CI/CD pipelines.
- Risk & compliance: Embed controls for auditability, explainability, and traceability of results; support model validation and governance that conforms to BMO standards.
- Collaboration: Partner with quants on specification and model translation; work with team on deployment, observability, and production incident response.
Must-have
- 3+ years professional software engineering experience in C#/.NET building production services/libraries.
- Previous experience in Python with an emphasis on Python internals.
- Strong knowledge of software architecture and distributed systems: APIs, messaging, concurrency, resiliency patterns, configuration management.
- Hands-on experience with Python for numerical computing (NumPy, pandas, SciPy).
- Solid CS fundamentals: data structures, algorithms, complexity analysis, threads/async, networking, serialization.
- Database experience: RDMS (PostgreSQL/MSSQL) fundamentals as well as experience in building queries, database design and optimizing/tuning DB for performance.
- Familiarity with market data: time series, corporate actions, calendars, B-PIPE.
- Experience in finance: quantitative investment models, factor investing, portfolio optimization (e.g., mean-variance, risk parity), transaction cost modeling.
- Performance profiling (BenchmarkDotNet, dotTrace, perf counters), and high-performance C# (Span/Memory, SIMD, channels).
- Experience with on-prem infrastructure (dedicated VMs, Ansible, etc...), secrets management, and observability (OpenTelemetry, Prometheus/Grafana, ELK).
- Exposure to modern C# features (.NET 8+), and design patterns for domain-driven design.
- Database experience: columnar/time-series stores (Parquet/Delta/InfluxDB/Kdb+/OneTick) a plus.
- Proficiency in testing and CI/CD: xUnit/NUnit, test containers, GitHub Actions/Azure DevOps or similar.
- Enhance the QIS engine's index calculation throughput and increase the speed at which new indices can be added within the engine
- Deliver a clean interop layer with clear contracts and automated validation between Python and production C#.
- Develop and ship at least one new quantitative investment strategy with demonstrable notional attribution.
- Core: C#/.NET 8 with ASP.NET Core, on-prem VMs, IIS
- Interop: Python (NumPy/pandas/SciPy) with Pythonnet
- Tooling: Azure DevOps, OpenTelemetry
- Testing: xUnit/NUnit
- Impact at scale: Your work powers real strategies, capital deployment, and risk decisions across Global Markets.
- R&D velocity: Tight feedback loops with quants and traders; pragmatic engineering over theory.
- Modern stack & autonomy: Greenfield opportunities; strong ownership and room to innovate.
Salary :
Pay Type:
Salaried
The above represents BMO Financial Group's pay range and type.
Salaries will vary based on factors such as location, skills, experience, education, and qualifications for the role, and may include a commission structure. Salaries for part-time roles will be pro-rated based on number of hours regularly worked. For commission roles, the salary listed above represents BMO Financial Group's expected target for the first year in this position.
BMO Financial Group's total compensation package will vary based on the pay type of the position and may include performance-based incentives, discretionary bonuses, as well as other perks and rewards. BMO also offers health insurance, tuition reimbursement, accident and life insurance, and retirement savings plans. To view more details of our benefits, please visit: https://jobs.bmo.com/global/en/Total-Rewards
About Us
At BMO we are driven by a shared Purpose: Boldly Grow the Good in business and life. It calls on us to create lasting, positive change for our customers, our communities and our people. By working together, innovating and pushing boundaries, we transform lives and businesses, and power economic growth around the world.
As a member of the BMO team you are valued, respected and heard, and you have more ways to grow and make an impact. We strive to help you make an impact from day one - for yourself and our customers. We'll support you with the tools and resources you need to reach new milestones, as you help our customers reach theirs. From in-depth training and coaching, to manager support and network-building opportunities, we'll help you gain valuable experience, and broaden your skillset.
To find out more visit us at https://jobs.bmo.com/ca/en .
BMO is committed to an inclusive, equitable and accessible workplace. By learning from each other's differences, we gain strength through our people and our perspectives. Accommodations are available on request for candidates taking part in all aspects of the selection process. To request accommodation, please contact your recruiter.
Note to Recruiters: BMO does not accept unsolicited resumes from any source other than directly from a candidate. Any unsolicited resumes sent to BMO, directly or indirectly, will be considered BMO property. BMO will not pay a fee for any placement resulting from the receipt of an unsolicited resume. A recruiting agency must first have a valid, written and fully executed agency agreement contract for service to submit resumes.
About BMO
Industry
Banking & FinanceCompany Size
10,000+ employees
Application closing date is 2026-03-07
Current Openings
-
Full Time
-
Full Time
-
Full Time
-
Full Time
-
Full Time
-
Full Time
-
Full Time
-
Full Time
-
Full Time
-
Full Time