Comment by eggy

1 year ago

Most people I know who actually learn an array language like k or j usually grow to appreciate the expressiveness and cleverness of these languages. Typically, people have your reaction who have only looked at it and tried it very briefly. I'm surprised. Why did you have to learn it? Where?

Was working at a quant pod at Millennium for a bit where they used it. I was ultimately able to use it but everything took me 20x longer than using Numpy/Pandas. The irony was that the Python code was shorter because there were so many more library functions and better abstractions and syntax. So it was slow and unintuitive for zero benefit whatsoever.

  • Geometric mean in Numpy vs. J:

    (Copied from some forum, since I don't use Python much)

      import numpy as np
    
      def geo_mean_overflow(iterable):
          return
    
      np.exp(np.log(iterable).mean())
    

    Or,

      from statistics import.
      geometric_mean
    
      geometric_mean([1.0, 0.00001, 10000000000.]) # 46.415888336127786
    

    In J, since I don't know K:

      gm=:#%:*/
    
    

    Even shorter than Python whether it's a canned lib routine or created from composing simple functions.

    And I don't need to format code on HN in J because it's so short anyway, besides I don't know how!

  • But how did your perf compare to the best of the K kicking quants around you? Were they too being less productive than they would have been in python?

    I’m not saying they were right or better. Horses of courses. Array languages do my head in and my choice is sql.

    • I was able to explore new ideas much much faster using Python than the experienced k people could. But creativity is more important anyway. Ultimately, having good ideas/data/signals trumps fancy or fast data wrangling. Glad I’m doing other things now in any case.

      3 replies →