Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2023-11-13 - KDB Project Call Meeting Minutes #99

Closed
2 tasks
alvin-c-shih opened this issue Nov 12, 2023 · 8 comments
Closed
2 tasks

2023-11-13 - KDB Project Call Meeting Minutes #99

alvin-c-shih opened this issue Nov 12, 2023 · 8 comments
Labels
approved Approved meeting minutes indexed meeting

Comments

@alvin-c-shih
Copy link
Contributor

alvin-c-shih commented Nov 12, 2023

Date

Monday, November 13, 2023 - 9:30am ET / 2:30pm UK

// Second Monday of every month

Attendees

Fullname Affiliation GitHub Username
James McLeod FINOS @mcleo-d
Alvin Shih Morgan Stanley @alvin-c-shih
Jo Shinonome ExeQution Analytics @jshinonome
Peter Gyorok KX Systems @gyorokpeter
Rian Ó Cuinneagáin KX Systems @rianoc
Gary Davies Data Intellect @drgdavies
Aaron Davies Morgan Stanley @adavies42
Connor Gervin KX Systems @Connor-Gervin

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

  • (5 min) Convene, roll call, welcome new people.
  • Display FINOS Antitrust Policy summary slide
  • Review Meeting Notices (see above)
  • (5 min) Approve previous meeting minutes.
    • Approved by acclamation.
  • (10 min) Takeaways from OSFF New York?
  • (10 min) Takeaways from Vectorize NY:
    • Retrieval-Augmented Generation (RAG) might not necessarily be decided by speed.
      • Erin Stanton shared that question answering results were better with small, curated document corpus.
      • Answer quality also affected by: chunk size, overlaps, embedding model, and LLM.
      • Would be beneficial for KX to have SMEs who write about how to achieve the best quality results with scalability as a secondary concern.
    • GitHub copilot quite bad at q programming - dictionaries especially.
      • Expose APIs that wrap q.
      • PyKX select functionality still exposes qsql.
        • Roadmap includes more Pythonic API with object-based where clauses.
        • Citadel QF wrapper for PyKX has already headed in that direction.

PyKX

res=pykx.q.qsql.select(
         table=trade, columns={'avgpx': 'qty wavg price'},
         where=['date=2023.02.01','sym in `IBM`MSFT'], by={'sym':'sym'})

Citadel QF:

res=trade.select(
         columns={'avgpx': qf.col('qty').wavg('price')},
         where=[qf.col('date') == datetime.date(2023,2,1),
                qf.col('sym').isin(['IBM','MSFT'])],
         by={'sym': qf.col('sym')})
  • (10 min) Walkthrough of Feature/unzip #98 .

    • Prepends a header of structs for .Q.gz to decompress.
    • Extracts into memory to avoid hassles of managing disk space.
    • Parallel unzipping with peach.
    • Fixed handling of empty archive. (Received one from a vendor feed.)
      • File format: headers, file, headers, file, ... , central directory
      • Empty zipfile has "end of central directory" block with zero entries.
    • Might be nice to implement using qbinparse.
    • Other utilities related to file ingestion that might be of interest:
  • (5 min) technical-documentation/ ideas continued

  • (5 min) AOB, Q&A, Adjourn.

    • Rust integration with q?
      • https://github.com/KxSystems/kxkdb
      • Two lines of Rust code to allow parallel deserialization that's faster than PyKX.
      • Curious to see if anyone has written q plugins in Rust.
      • Financial services companies might not support Rust development.
        • Full ecosystem would require: code scanning, CI/CD, integration with other apps / infrastructure.

WebEx info

Webex

Dial-in and Project Materials

@mcleo-d
Copy link
Member

mcleo-d commented Nov 13, 2023

James McLeod / FINOS

@gyorokpeter
Copy link
Contributor

Peter Gyorok/KX

@adavies42
Copy link
Contributor

Aaron Davies/Morgan Stanley

@jshinonome
Copy link

Jo 🦊

@drgdavies
Copy link

Gary Davies/Data Intellect

@rianoc
Copy link

rianoc commented Nov 13, 2023

Rian Ó Cuinneagáin / KX

@jshinonome
Copy link

jshinonome commented Nov 13, 2023

# an example for polars, polars is lighting fast, same level as kdb
morning = (
    taxi.filter(pl.col("pickup_time") >= time(7), pl.col("pickup_time") < time(9))
    .select(["weekday", "trip_distance"])
    .group_by(pl.col("weekday"))
    .sum()
    .rename({"trip_distance": "morning_rush_taxi"})
)

@alvin-c-shih
Copy link
Contributor Author

Alvin Shih / Morgan Stanley

@alvin-c-shih alvin-c-shih changed the title 2023-11-13 - KDB Project Call Meeting Agenda 2023-11-13 - KDB Project Call Meeting Minutes Dec 11, 2023
@alvin-c-shih alvin-c-shih added indexed approved Approved meeting minutes labels Feb 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Approved meeting minutes indexed meeting
Projects
None yet
Development

No branches or pull requests

7 participants