Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
baa5399
automate MD updating
andrlime Jul 27, 2025
5aea332
remove .DS_Store ._.
andrlime Jul 27, 2025
02a4090
merge
andrlime Sep 6, 2025
7a90918
add hardware roles and fix email link
andrlime Jul 27, 2025
b6851a5
add YAML-OCaml parsing using ppx
andrlime Jul 27, 2025
8b91773
fix dependencies issues
andrlime Jul 27, 2025
97d17b0
see if caching works
andrlime Jul 27, 2025
37c7f98
remove data.ml bloat file
andrlime Jul 28, 2025
ce3e7cd
move some content around
andrlime Jul 28, 2025
55047f5
[bot] auto-update README.md
github-actions[bot] Jul 28, 2025
5b6469a
address my own code review comment lol
andrlime Jul 28, 2025
844f2ea
vibe coded github action to comment artifact URL, and fix a boolean
andrlime Jul 28, 2025
f8b28b1
reformat code
andrlime Jul 28, 2025
8086c75
fix up the workflow with more event guards
andrlime Jul 28, 2025
b9da531
[bot] auto-update README.md
github-actions[bot] Jul 28, 2025
4bf2519
trigger another run?
andrlime Jul 28, 2025
61def2a
end to end test run with IMC ML Research internship
andrlime Jul 28, 2025
0060b09
add HRT SWE/AlgoDev
andrlime Jul 28, 2025
0a7493e
add Squarepoint QR
andrlime Jul 30, 2025
05b0086
add CTC
andrlime Aug 5, 2025
32169ca
remove empty labels
andrlime Aug 5, 2025
f981b93
add CitSec again
andrlime Aug 5, 2025
c6743fa
add Jump Trading roles
andrlime Aug 7, 2025
6be2452
add belvedere
andrlime Aug 8, 2025
9dc6dee
add millenium QR and SWE
andrlime Aug 10, 2025
4e21454
add GSA NYC QR
andrlime Aug 10, 2025
8587b61
add PDT SWE NY
andrlime Aug 13, 2025
5ca1cef
add Flow Traders internship
andrlime Aug 18, 2025
5b2e15a
add arrowstreet
andrlime Aug 21, 2025
c11b2d6
updates to OCaml code
andrlime Sep 6, 2025
72ace87
always push to github
andrlime Sep 6, 2025
dd6e2d2
add blackedge
andrlime Sep 6, 2025
2f07420
add blackedge??
andrlime Sep 6, 2025
54b5e39
add other HRT internships
andrlime Sep 6, 2025
eb690fa
[bot] auto-update README.md
github-actions[bot] Sep 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 93 additions & 0 deletions .github/workflows/lint-and-compile-workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: "[ci] Lint and compile source code"

on:
push:
branches:
- "main"
paths:
- data/**
pull_request:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Id recommend only doing the git push on main, but running it on PR or push to main. It’s confusing seeing commits pushed on a PR. You can upload the generated readme to artifacts and link to it in a comment in the PR for preview functionality.

Also, this should only run when files in data/ are changed.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. On push, commits stuff. On PR, adds a comment with a link to a zipped artifact. A concern here I have is, we have branch protections on main. If we "push to main" via a merge, is the bot able to push to a protected branch? If not, I'd say pushing to the PR is still cleaner.
  2. Yup, added artifacts and comments
  3. Added a check for the data/ folder

Copy link
Copy Markdown
Member

@egelja egelja Jul 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

branches:
- "main"
paths:
- data/**

jobs:
compile:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v3

- name: Set up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5.1.0
cache-prefix: v1
dune-cache: true

- name: Cache OPAM dependencies
uses: actions/cache@v4
with:
path: |
~/.opam
_opam
key: ${{ runner.os }}-opam-${{ hashFiles('src/*.opam', 'src/opam.locked') }}
restore-keys: |
${{ runner.os }}-opam-

- name: Set up OPAM environment
run: opam init --bare --disable-sandboxing && eval $(opam env)

- name: Install dependencies
working-directory: ./src
run: opam install . --deps-only

- name: Generate the output file
working-directory: ./src
run: eval $(opam env) && dune exec internships > ../README.md

- name: Commit and push changes to git
run: |
git fetch
git checkout ${{ github.head_ref }}
git pull
git add -f README.md

if git diff --cached --quiet; then
echo "No changes to commit."
else
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

git commit -m "[bot] auto-update README.md"
git push origin HEAD:${{ github.head_ref }}
fi

- name: 'Upload Artifact'
uses: actions/upload-artifact@v4
with:
name: preview-readme-md
path: README.md
retention-days: 3

- name: Fetch artifact URL
id: artifact
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
ARTIFACT_ID=$(gh api repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/artifacts \
--jq '.artifacts[] | select(.name == "preview-readme-md") | .id')
echo "url=https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}/artifacts/$ARTIFACT_ID" >> $GITHUB_OUTPUT

- name: Comment with full artifact link
uses: peter-evans/create-or-update-comment@v4
if: github.event_name == 'pull_request'
with:
issue-number: ${{ github.event.pull_request.number }}
body: |
✅ [Download preview-readme-md artifact](${{ steps.artifact.outputs.url }})


791 changes: 709 additions & 82 deletions README.md

Large diffs are not rendered by default.

28 changes: 28 additions & 0 deletions data/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Data Folder

Below is an example of a company without any posted internships
```yaml
name: "ABC Capital"
website: "https://example.com"
locations: "London, England"
notes: "they don't make any money"
roles: []
```
Note that the `roles` field is strictly required to be `[]`. However, once internships are posted, instead of keeping the `[]` syntax, it's changed to
```yaml
name: "ABC Capital"
website: "https://example.com"
locations: "London, England"
notes: "they might make some money"
roles:
- role_type: "SWE"
links:
- url: "https://example.com"
label: "C++"
- url: "https://example.com"
label: "Python"
- role_type: "QR"
links:
- url: "https://example.com"
```
with more `role_type` items as applicable. Note that the links have an optional label field; it is not required, and is ideally blank unless there are multiple roles in the same category. See the examples throughout this folder to learn more about the data format. It is very simple.
14 changes: 14 additions & 0 deletions data/akuna-capital.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: "Akuna Capital"
website: "https://akunacapital.com/careers#careers"
locations: "Chicago"
notes: ""
roles:
- role_type: "SWE"
links:
- url: "https://akunacapital.com/job-details?gh_jid=6996427"
label: "C++"
- url: "https://akunacapital.com/job-details?gh_jid=7055471"
label: "Python"
- role_type: "QR"
links:
- url: "https://akunacapital.com/job-details?gh_jid=7055793"
5 changes: 5 additions & 0 deletions data/ansatz-capital.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: "Ansatz Capital"
website: "https://jobs.lever.co/ansatzcapital"
locations: "NYC"
notes: "Very Small, Citadel Spinoff."
roles: []
5 changes: 5 additions & 0 deletions data/aqr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: "AQR"
website: "https://careers.aqr.com/jobs/department/university-jobs"
locations: "Greenwich, CT"
notes: ""
roles: []
14 changes: 14 additions & 0 deletions data/aquatic-capital.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: "Aquatic"
website: "https://boards.greenhouse.io/aquaticcapitalmanagement"
locations: "Chicago"
notes: "Very Small, Citadel Spinoff."
roles:
- role_type: "SWE"
links:
- url: "https://job-boards.greenhouse.io/aquaticcapitalmanagement/jobs/7990895002"
- role_type: "QR"
links:
- url: "https://job-boards.greenhouse.io/aquaticcapitalmanagement/jobs/7985726002"
- role_type: "BizOps (AI/LLM)"
links:
- url: "https://job-boards.greenhouse.io/aquaticcapitalmanagement/jobs/8071545002"
11 changes: 11 additions & 0 deletions data/arrowstreet.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: "Arrowstreet Capital"
website: "https://arrowstreetcapital.wd5.myworkdayjobs.com/en-US/Arrowstreet"
locations: "Boston"
notes: "Fully Systematic. Very High PnL per head."
roles:
- role_type: "SWE"
links:
- url: "https://arrowstreetcapital.wd5.myworkdayjobs.com/en-US/Campus_Careers/job/Boston/Quantitative-Developer-Intern--Summer-2026_R1338"
- role_type: "QR"
links:
- url: "https://arrowstreetcapital.wd5.myworkdayjobs.com/en-US/Campus_Careers/job/Boston/Quantitative-Researcher-Intern--Summer-2026_R1340"
11 changes: 11 additions & 0 deletions data/belvedere-trading.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: "Belvedere Trading"
website: "http://www.belvederetrading.com/jobs/"
locations: "Chicago"
notes: ""
roles:
- role_type: "SWE"
links:
- url: "https://jobs.lever.co/belvederetrading/eddfd030-1b27-46db-9ef6-5b65e1e2484c"
- role_type: "QT"
links:
- url: "https://jobs.lever.co/belvederetrading/ec52b73e-54b8-4f87-909d-a74cb288dc4d"
11 changes: 11 additions & 0 deletions data/blackedge-capital.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: "Blackedge Capital"
website: "https://boards.greenhouse.io/blackedgecapital"
locations: "Chicago"
notes: ""
roles:
- role_type: "SWE"
links:
- url: "https://job-boards.greenhouse.io/blackedgecapital/jobs/4596128005"
- role_type: "QT"
links:
- url: "https://job-boards.greenhouse.io/blackedgecapital/jobs/4590418005"
11 changes: 11 additions & 0 deletions data/bridgewater.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: "Bridgewater"
website: "https://www.bridgewater.com/working-at-bridgewater/job-openings"
locations: "Westport, CT"
notes: "Ray Dalio's firm. Very unique culture and interviews. Very School Selective."
roles:
- role_type: "SWE"
links:
- url: "https://job-boards.greenhouse.io/bridgewater89/jobs/7950099002"
- role_type: "QR"
links:
- url: "https://job-boards.greenhouse.io/bridgewater89/jobs/7726966002"
5 changes: 5 additions & 0 deletions data/campbell-and-company.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: "Campbell and Company"
website: "https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?cid=2de708e1-c847-43b1-bf0d-0bad30aca014&ccId=19000101_000001&type=MP&lang=en_US"
locations: "Baltimore, MD"
notes: "This small 60 employee multi-strat quant firm has an extremely collaborative culture."
roles: []
11 changes: 11 additions & 0 deletions data/chicago-trading-company.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: "Chicago Trading Company"
website: "https://www.chicagotrading.com/search#search-results"
locations: "Chicago"
notes: "Very trader led shop. Shares an office with Group One Trading."
roles:
- role_type: "SWE"
links:
- url: "https://grnh.se/2f36ab9q5us"
- role_type: "QT"
links:
- url: "https://grnh.se/28t263745us"
14 changes: 14 additions & 0 deletions data/citadel-securities.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: "Citadel / Citadel Securities"
website: "https://www.citadelsecurities.com/careers/students/internships/"
locations: "Chicago, NYC"
notes: "The market making arm of Citadel. The general perception is that the culture tends to be better at Citadel Securities vs Citadel LLC."
roles:
- role_type: "SWE"
links:
- url: "https://www.citadelsecurities.com/careers/details/software-engineer-intern-us/"
- role_type: "QR"
links:
- url: "https://www.citadelsecurities.com/careers/details/quantitative-research-analyst-intern-bs-ms-us/"
- role_type: "QT"
links:
- url: "https://www.citadelsecurities.com/careers/details/quantitative-trading-intern-us/"
5 changes: 5 additions & 0 deletions data/citadel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: ""
website: "https://www.citadel.com/careers/open-opportunities/students/internships/"
locations: "Chicago, NYC"
notes: "The hedge fund side of Ken Griffin's Citadel. The quants are mostly on the Global Quantitative Strategies team (GQS). Citadel tends to be fairly school-selective."
roles: []
8 changes: 8 additions & 0 deletions data/cubist.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: "Cubist"
website: "https://careers.point72.com/?experience=internships"
locations: "New York City"
notes: "The quant arm of Steve Cohen's Point72 hedge fund. Pretty small and school selective."
roles:
- role_type: "SWE"
links:
- url: "https://careers.point72.com/CSJobDetail?jobName=quantitative-software-developer-intern&jobCode=CSS-0011537&location=New%20York&locale=English&retURL=/CSCareerSearch"
11 changes: 11 additions & 0 deletions data/de-shaw.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: "DE Shaw"
website: "https://www.deshaw.com/careers/internships"
locations: "NYC"
notes: "Tends to be extremely school-selective, mostly recruiting from ivy leagues and similar. Generally considered a top destination for QRs, more so than other roles."
roles:
- role_type: "SWE"
links:
- url: "https://www.deshaw.com/careers/software-developer-intern-new-york-summer-2026-5521"
- role_type: "QT"
links:
- url: "https://www.deshaw.com/careers/proprietary-trading-intern-new-york-summer-2026-5379"
14 changes: 14 additions & 0 deletions data/drw.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: "DRW"
website: "https://drw.com/work-at-drw/category/campus"
locations: "Chicago"
notes: "Perception is that DRWers tend to have a good WLB but teams are usually siloed. Known for their PM type culture and relatively fluid roles."
roles:
- role_type: "SWE"
links:
- url: "https://www.drw.com/work-at-drw/listings/software-developer-intern-3157977"
- role_type: "QR"
links:
- url: "https://www.drw.com/work-at-drw/listings/quantitative-research-intern-3151348"
- role_type: "QT"
links:
- url: "https://www.drw.com/work-at-drw/listings/quantitative-trading-analyst-intern-3141981"
14 changes: 14 additions & 0 deletions data/five-rings.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: "Five Rings"
website: "https://fiverings.com/careers"
locations: "NYC"
notes: "Extremely school-selective - generally MIT only."
roles:
- role_type: "SWE"
links:
- url: "https://job-boards.greenhouse.io/fiveringsllc/jobs/4806713008"
- role_type: "QR"
links:
- url: "https://job-boards.greenhouse.io/fiveringsllc/jobs/4563183008"
- role_type: "QT"
links:
- url: "https://job-boards.greenhouse.io/fiveringsllc/jobs/4613451008"
8 changes: 8 additions & 0 deletions data/flow-traders.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: "Flow Traders"
website: "https://www.flowtraders.com/careers"
locations: "NYC"
notes: "Based in Amsterdam, where there are SWE roles. US internships are for traders. Primary focus is on ETFs. Pay tends be lower than IMC and Optiver. One of the only publicly traded quant funds."
roles:
- role_type: "QT"
links:
- url: "https://www.flowtraders.com/careers/job-description/7166435"
5 changes: 5 additions & 0 deletions data/g-research.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: "G-Research"
website: "https://www.gresearch.co.uk/join-us/graduates/"
locations: "London"
notes: "Also hires people out of the US. Very focused on research with a lot of people working on cutting-edge Machine Learning."
roles: []
8 changes: 8 additions & 0 deletions data/geneva-trading.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: "Geneva Trading"
website: "https://www.genevatrading.com/careers-open-positions/"
locations: "Chicago"
notes: ""
roles:
- role_type: "QT"
links:
- url: "https://job-boards.greenhouse.io/genevatrading/jobs/4767553007"
9 changes: 9 additions & 0 deletions data/gsa-capital.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: "GSA Capital"
website: "https://www.gsacapital.com/?section=careers&gh_src="
locations: "NYC"
notes: ""
roles:
- role_type: "QR"
links:
- url: "https://boards.greenhouse.io/embed/job_app?for=gsacapital&token=8016006002"

5 changes: 5 additions & 0 deletions data/hap-capital.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: "HAP Capital"
website: "https://jobs.lever.co/hap-capital"
locations: "NYC"
notes: "Another options market maker. Less known than (IMC, Optiver, ...) but well known in the OMM circle."
roles: []
5 changes: 5 additions & 0 deletions data/headlands-tech.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: "Headlands Tech"
website: "https://www.headlandstech.com/careers/"
locations: "Chicago"
notes: "Founded by ex-Citadel people. Max Dama works here. Similarly to Ansatz, Aquatic, and Radix, a small firm that is willing to pay more than most competitors. Known to have a large focus on C++, both among QRs and SWEs."
roles: []
18 changes: 18 additions & 0 deletions data/hudson-river-trading.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: "Hudson River Trading"
website: "https://www.hudsonrivertrading.com/careers/"
locations: "NYC"
notes: "The Algo Dev role at HRT is essentially Quantitative Research. HRT's culture seems to be pretty similar to JS and pay is similar too. HRT has a bigger focus on ML with their dedicated HRT AI Labs. Known for recruiting UG QRs, and for very collegial culture."
roles:
- role_type: "SWE"
links:
- url: "https://www.hudsonrivertrading.com/hrt-job/software-engineering-internship-summer-2026-2/"
- role_type: "QR"
links:
- url: "https://www.hudsonrivertrading.com/hrt-job/algorithm-development-quant-research-internship-summer-2026-2/"
label: "Algo Dev"
- role_type: "QT"
links:
- url: "https://www.hudsonrivertrading.com/hrt-job/algorithm-trader-quantitative-trader-internship-summer-2026/"
- role_type: "Sophomore"
links:
- url: "https://www.hudsonrivertrading.com/hrt-job/sophomore-internship-summer-2026/"
18 changes: 18 additions & 0 deletions data/imc-trading.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: "IMC Trading"
website: "https://careers.imc.com/us/en/student-opportunities"
locations: "Chicago"
notes: "Known for a pretty chill, tech-like culture. They're a more systematic OMM."
roles:
- role_type: "SWE"
links:
- url: "https://www.imc.com/us/careers/jobs/4580810101/"
- role_type: "QR"
links:
- url: "https://www.imc.com/us/careers/jobs/4580808101/"
- role_type: "QT"
links:
- url: "https://www.imc.com/us/careers/jobs/4580757101/"
- role_type: "ML"
links:
- url: "https://www.imc.com/us/careers/jobs/4608584101"
label: "ML Research"
Loading