Gavin Chan's Page
  • About Me
  • Projects
  • Talks
  • Search
✕

    Blog


    Quant finance, engineering, and my book reviews
    • When do we need Pydantic?

      Pydantic is so great to use, but is it always necessary?

      Posted on February 1, 2023

      Post thumbnail
      Post thumbnail
      Data class was introduced to Python 3.7 (PEP 557) to describe a data object with typed attributes. [Read More]
      Tags:
      • python
      • dataclass
      • pydantic
    • How fast can we generate a new release?

      My journey in poetry, conventional commit and semantic release

      Posted on November 29, 2022

      Post thumbnail
      Post thumbnail
      Working in open source projects is fun, but it may also mean to sacrifice one’s personal time to transform amazing ideas into applications. Down the road of development, tedious and routine works are definitely involved. A colossal amount of chores, e.g. documentation, building distributions, and releases, are demanded to keep... [Read More]
      Tags:
      • python
      • semver
      • devops
      • engineering
      • poetry
      • conventionalcommit
      • semanticrelease
    • Can we build a factor pricing model at the enterprise level?

      Posted on October 14, 2022

      Post thumbnail
      Post thumbnail
      Multifactor models describe the return on an asset in terms of the risk of the asset with respect to a set of factors. The formulation can be represented as [Read More]
      Tags:
      • factormodel
      • riskmodel
      • portfoliomanagement
      • finance
    • Does Sam Gross nogil CPython fork perform faster?

      How far is it now to get rid of GIL in the future Python?

      Posted on October 3, 2022

      Post thumbnail
      Post thumbnail
      GIL (Global Interpreter Lock) is a mechanism in CPython to synchronise the Python bytecode execution to run only in a single thread at a time. It constitutes a straightforward CPython implementation but becomes obstacles of parallelism in Python. Retrospective endeavour in removing GIL did not reward well. Most of the... [Read More]
      Tags:
      • python
      • nogil
      • engineering
    • Python Compiler Comparison (2)

      Compare with various JIT compilation libraries - Numba, JAX, Tensorflow and PyTorch

      Posted on August 27, 2022

      Post thumbnail
      Post thumbnail
      Following with the previous article, I tested further a few more cases to benchmark the runtime performance on various JIT compilation libraries (Numba, JAX, TensorFlow and PyTorch). In this time, I am going to test with a more realistic example used in machine learning and numerical computation - linear regression.... [Read More]
      Tags:
      • python
      • numba
      • jax
      • tensorflow
      • pytorch
      • engineering
    • Older Posts →
    • GitHub
    • Twitter
    • LinkedIn

    Gavin Chan  •  2023  •  gavincyi.github.io

    Powered by Beautiful Jekyll