packages feed

HQu-0.0.0.0: HQu.cabal

cabal-version:       2.4
name:                HQu
version:             0.0.0.0
synopsis:            quantitative finance library
description:         General purpose quantitative finance library
homepage:            https://github.com/ghais/HQu
bug-reports:         https://github.com/ghais/HQu/issues
license:             MIT
license-file:        LICENSE
author:              Ghais
maintainer:          Ghais <0x47@0x49.dev>
copyright:           2021 Ghais
category:            Finance,Math
build-type:          Simple
extra-doc-files:     README.md
                     CHANGELOG.md
tested-with:         GHC == 8.10.4

source-repository head
  type:                git
  location:            https://github.com/ghais/HQu.git

common common-options
  build-depends:       base >= 4.11.1.0 && < 5
  
  
  ghc-options:         -Wall
                       -Wcompat
                       -Widentities
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
  if impl(ghc >= 8.0)
    ghc-options:       -Wredundant-constraints
  if impl(ghc >= 8.2)
    ghc-options:       -fhide-source-paths
  if impl(ghc >= 8.4)
    ghc-options:       -Wmissing-export-lists
                       -Wpartial-fields
  if impl(ghc >= 8.8)
    ghc-options:       -Wmissing-deriving-strategies

  default-language:    Haskell2010
  default-extensions:  ConstraintKinds
                       DeriveGeneric
                       DerivingStrategies
                       GeneralizedNewtypeDeriving
                       InstanceSigs
                       KindSignatures
                       LambdaCase
                       OverloadedStrings
                       RecordWildCards
                       ScopedTypeVariables
                       StandaloneDeriving
                       TupleSections
                       TypeApplications
                       ViewPatterns

library
  import:              common-options
  hs-source-dirs:      src
  exposed-modules:     HQu
                       Q.SortedVector
                       Q.ContingentClaim
                       Q.ContingentClaim.Options
                       Q.Currencies.America
                       Q.Currencies.Asia
                       Q.Currencies.Europe
                       Q.Currency
                       Q.Greeks
                       Q.Interpolation
                       Q.MonteCarlo
                       Q.Options
                       Q.Options.Bachelier
                       Q.Options.Black76
                       Q.Options.BlackScholes
                       Q.Options.ImpliedVol
                       Q.Options.ImpliedVol.TimeInterpolation
                       Q.Options.ImpliedVol.InterpolatingSmile
                       Q.Options.ImpliedVol.StrikeInterpolation
                       Q.Options.ImpliedVol.LetsBeRational
                       Q.Options.ImpliedVol.Normal
                       Q.Options.ImpliedVol.Surface
                       Q.Options.ImpliedVol.SVI
                       Q.Options.ImpliedVol.TimeSlice
                       Q.Payoff
                       Q.Plotting
                       Q.Stats.Arima
                       Q.Stats.TimeSeries
                       Q.Stochastic
                       Q.Stochastic.Discretize
                       Q.Stochastic.Process
                       Q.Time
                       Q.Time.Date
                       Q.Time.DayCounter
                       Q.Types
                       Q.Util.File
  other-modules:
                       Paths_HQu
  autogen-modules:
                       Paths_HQu
  include-dirs:
                       external/include
  cxx-sources:
                       external/src/lets_be_rational.cpp
                       external/src/normaldistribution.cpp
                       external/src/rationalcubic.cpp
                       external/src/erf_cody.cpp
  install-includes:
                       importexport.h
                       lets_be_rational.h
                       normaldistribution.h
                       rationalcubic.h
  build-depends:
                       bytestring >=0.10 && <0.11
                     , cassava >=0.5
                     , containers >= 0.6.2 && <0.7
                     , conversion >= 1.2 && <2
                     , data-default-class >= 0.1 && <0.2
                     , erf >= 2 && <3
                     , hmatrix >= 0.18 && <0.30
                     , hmatrix-gsl >= 0.19 && <0.20
                     , hmatrix-gsl-stats >= 0.4.1
                     , ieee754 >= 0.8 && <0.9
                     , math-functions >= 0.3.4 && <0.4
                     , mersenne-random-pure64 >= 0.2.2
                     , monad-loops >= 0.4.3 && < 0.5
                     , mtl >=2.2 && < 3
                     , stm >= 2.5 && < 3
                     , random >= 1.1 && < 2
                     , random-fu >= 0.2 && < 0.3
                     , random-source >= 0.3.0.11 && < 0.4
                     , rvar >= 0.2 && < 0.3
                     , sorted-list >= 0.2.1.0 && < 0.3
                     , statistics >= 0.15.2 && < 0.16
                     , text >= 1.2.4 && < 1.3
                     , time >= 1.9 && < 2
                     , vector >= 0.12.1 && < 0.13
                     , vector-algorithms >= 0.8 && < 0.9                      

test-suite bachelier-test
  import:              common-options
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test/bachelier
  main-is:             Spec.hs
  build-depends:       HQu
                     , hspec >= 2.7
                     , hspec-expectations >= 0.8
  ghc-options:         -threaded
                       -rtsopts
                       -with-rtsopts=-N

test-suite normalimpliedvol-test
  import:              common-options
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test/normalimpliedvol
  main-is:             Spec.hs
  build-depends:       HQu
                     , hspec >= 2.7
                     , hspec-expectations >= 0.8
  ghc-options:         -threaded
                       -rtsopts
                       -with-rtsopts=-N

benchmark HQu-benchmark
  import:              common-options
  type:                exitcode-stdio-1.0
  hs-source-dirs:      benchmark
  main-is:             Main.hs
  build-depends:       gauge
                     , HQu
  ghc-options:         -threaded
                       -rtsopts
                       -with-rtsopts=-N