This website showcases the TDLEG research projects of undergraduate students at the University of Hong Kong (HKU). TDLEG is the Teaching Development and Language Enhancement Grant 2019-22 of PI Dr. Matthias Buehlmaier (HKU) and Co-I Prof. Dr. Gregor Dorfleitner (University of Regensburg). The TDLEG title is: "Creating a Domain-Specific Language for Data Science in Clojure With Applications in Finance."
Contributor: Grace ZHONG Yanting
As one of the most important data structures in programming, heap or priority queue could be used to force the order of outputs. A Clojure wrapper of java.util.PriorityQueue
would be provided in this project, including basic APIs such as init, add, pop, etc.
Contributor: Parry CHOI Chong Hing
Domain Specific Language (DSL) is a computer language, declared syntax or grammar that is specialised to a specific application. In contrast to General-Purpose Language, implemenation of DSL is designed with specific goals in that application domain. The use of macros in Lisp dialects enables developers to rewrite source code at compile time, making implementation of DSL more convenient. As one of the Lisp dialects, Clojure also inheriates such advantage. In addition to macros, the heavy use of core data literals in Clojure also gives an extensive developing opportunity in implementing DSLs.
In this project, a DSL extension to the existing data processing library, tech.ml.dataset
, will be developed. A generic query using core data literal serves as the foundation of the DSL. This enables huge flexibility in defining the syntax, subject to Clojure’s limitation.
Contributor: Cindy WANG Xizhuo
Construct a delta hedging strategy using the backtesting library in Clojure. Optimize the calculation of delta based on data science methods. Generate return results and use them for comparison.
Contributor: ZHU Jiarui
Heap is a kind of efficient data storage structure, especially in the representation of priority queues. So it is a good choice for data logging, sorting and output.
Existing implementations are mostly based on index operations in vectors, rather than the real tree structure. This kind of structure cannot meet the requirements for efficient computing.
In this case, we need a maximum/minimum heap implementation scheme that is more in line with the characteristics of the heap.
Contributor: LIN Maoran
This project will explore the impact of firms’ equity offering decisions in venture capital deals with the theory of signaling game. It will assess the signaling effect of equity offer by reviewing the mathematical model proposed in Gibbons (1992) and analyzing the empirical data.
Contributor: Kevin ZHANG Wenkai
Developing a website can be hard, but tools make it easier. In this project, a static website development tool based on Clojure, Cryogen
, will be used to develop the HKU-TDLEG website. The contributor will explore the features and advantages of Cryogen, and try to develop a professional blog website recording the progress of all contributors' work.
Contributor: Oscar Jay LEW
Social networks such as Twitter, Facebook, or Instagram are centralized in the sense that a single company runs them and stores all user data and user content centrally. While this allows for easier storage, the data generated largely belongs to the company and not the users. This issue is highlighted by the recent debate about content moderation. To tackle this issue from a new perspective, we develop a decentralized social network that uses the the decentralized "interplanetary file system" (IPFS) and runs on a blockchain.