{"id":4637,"date":"2016-10-13T13:19:01","date_gmt":"2016-10-13T13:19:01","guid":{"rendered":"http:\/\/www.dyalog.com\/blog\/?p=4637"},"modified":"2023-04-03T13:47:15","modified_gmt":"2023-04-03T13:47:15","slug":"winning-the-apl-programming-contest-finance-category","status":"publish","type":"post","link":"https:\/\/www.dyalog.com\/blog\/2016\/10\/winning-the-apl-programming-contest-finance-category\/","title":{"rendered":"Winning the APL Programming Contest \u2013 Finance Category"},"content":{"rendered":"<p>#Dyalog16 &#8211; Vibeke Ulmann<\/p>\n<p>Today we had the third of the 3 grand prize winner presentations.<\/p>\n<p>Zack Batik is 23 years old and is in his second year studying for an undergraduate in Maths and Economics at the University of Cape Town in South Africa. See Zack\u2019s profile here: <a title=\"Profile\" href=\"http:\/\/www.dyalog.com\/news\/112\/420\/2016-APL-Programming-Contest-Winners.htm\" target=\"_blank\">http:\/\/www.dyalog.com\/news\/112\/420\/2016-APL-Programming-Contest-Winners.htm<\/a><\/p>\n<p>Until about 18 months ago Zack had never heard about Dyalog APL. Indeed, he\u2019d never done any programming himself. The event that happened those 18months ago was that he attended a talk by Dyalog\u2019s CXO Morten Kromberg \u2013 and at the talk he also met Illse Nell from Riskflow in Johannesburg \u2013 and they got chatting. (<a href=\"http:\/\/www.riskflow.com\/\">http:\/\/www.riskflow.com\/<\/a> ).<\/p>\n<p>Zack was just about to start Uni \u2013 but 2 weeks before registration, he packed up his bags and went to Johannesburg instead as Illse had persuaded him to ditch Uni and come work as an intern at Riskflow.<\/p>\n<p>\u201cI spent the first two months learning Dyalog APL using the <strong>Mastering Dyalog APL<\/strong> book by Bernard Legrand (<a title=\"Mastering Dyalog APL\" href=\"http:\/\/www.dyalog.com\/mastering-dyalog-apl.htm\" target=\"_blank\">http:\/\/www.dyalog.com\/mastering-dyalog-apl.htm <\/a>). It pretty much became my bible, and I went through it chapter and verse, did all the exercises and so on. It was extremely useful as it got me everything I needed in terms of having the start for exploring things in more depth\u201d, Zack said. I was then given a prototype of an Index Forecasting System (IFS) \u2013 and asked if I could tidy it up. When I discovered it was copyrighted in 1984 \u2013 it dawned on me I probably had to write this thing again from scratch, which I then proceeded to do! I went through a phenomenal progression in terms of knowing what to do, and how to do it and how to make code prettier.\u201d<\/p>\n<p>\u201cWorking on the IFS application gave me a good foundation for entering the programming contest this year, although I did also enter last year, where I was given a participation award. But this year it was obvious to me that I would address the Finance problems, and especially the third problem \u2013 which dealt with a Monte Carlo modelling \u2013 was great, as I could use some of the knowledge I had gained from working on the IFS,\u201d Zack explained.<\/p>\n<p>In terms of how he approached the Programming Contest this year \u2013 after breezing through the 10 one liner problems in Phase 1, Zack mainly focused on the Finance problems in Phase 2.<\/p>\n<p>He then showed us how he solved a couple of the Phase 1 problems, such as \u2018mean\u2019 and \u2018the Median\u2019, before mowing to presenting his solutions for the Phase 2 problems. During lunch &#8211; prior to his presentation &#8211; I interviewed Zack. And I took the opportunity to ask him, how long it took him to solve each problem.<\/p>\n<ul>\n<li>Calculating Forward Rate Problem\u00a0&#8211; approx. 1\/2 hour<\/li>\n<li>Triangular Distribution &#8211; approx. 2 hours<\/li>\n<li>The Monte Carlo Modelling \u2013 approx. 2 hours<\/li>\n<\/ul>\n<p>However \u2013 he admitted that he probably spent the time over a week, as he constantly wanted to \u2018pretty up\u2019 the code, before submitting his solutions.<\/p>\n<p>Although Zack <strong>HAS<\/strong> now re-started his University studies in Cape Town, he is still retained to Riskflow for about 40 hours per month.<\/p>\n<p>It is also worth noting, that the work he did on the IFS, has resulted in it going into production at Riskflow \u2013 so also on that front we commend him for <strong>a job well done! <\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>#Dyalog16 &#8211; Vibeke Ulmann Today we had the third of the 3 grand prize winner presentations. Zack Batik is 23 years old and is in his second year studying for an undergraduate in Maths and Economics at the University of &hellip; <a href=\"https:\/\/www.dyalog.com\/blog\/2016\/10\/winning-the-apl-programming-contest-finance-category\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"gallery","meta":{"footnotes":""},"categories":[22,28,4],"tags":[],"class_list":["post-4637","post","type-post","status-publish","format-gallery","hentry","category-student-competition","category-dyalog-16","category-events","post_format-post-format-gallery"],"_links":{"self":[{"href":"https:\/\/www.dyalog.com\/blog\/wp-json\/wp\/v2\/posts\/4637","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dyalog.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dyalog.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dyalog.com\/blog\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dyalog.com\/blog\/wp-json\/wp\/v2\/comments?post=4637"}],"version-history":[{"count":3,"href":"https:\/\/www.dyalog.com\/blog\/wp-json\/wp\/v2\/posts\/4637\/revisions"}],"predecessor-version":[{"id":4649,"href":"https:\/\/www.dyalog.com\/blog\/wp-json\/wp\/v2\/posts\/4637\/revisions\/4649"}],"wp:attachment":[{"href":"https:\/\/www.dyalog.com\/blog\/wp-json\/wp\/v2\/media?parent=4637"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dyalog.com\/blog\/wp-json\/wp\/v2\/categories?post=4637"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dyalog.com\/blog\/wp-json\/wp\/v2\/tags?post=4637"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}