3046 Commits

Author SHA1 Message Date
Ronit Jain 00f68b951f Zerodha - GetHistory DateTime Parse Correction (#5788)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* logging and kite connection retry

(cherry picked from commit 9845a2d79e86c338093cadcae7f41b29d897c78c)

* changed thread.sleep time for kite connection retries

* websresponse retry on error - coding style change

* datetome parse to convert time in utc

* indentation code-style fix

* zerodhaDownloader support for dataTimeZone

* removed code redundancy for single conversion without hardcoded TZ

* removed hardcode dataTimeZone and code refactor

* returns exchange TZ to lean and data TZ to local disk from downloader

* Kite historical candle timestamp TZ conversion

* added unit test for kite historical candle

* access modifier correection
2021-07-23 18:34:48 -03:00
Martin-Molinero 2cb239a330 Fix price left over split cash adjustment (#5780)
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
- After a split if there are left over shares we model them getting sold
  using the new price. Adding unit and regression test
2021-07-19 13:18:10 -03:00
Martin-Molinero cb326788b3 Filter out small orders based on Setting (#5776)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Filter out small orders based on Setting

- BuyingPowerModel will filter out small orders based on algorithm
  setting, a % of PTV, instead of hard coded 1 share value. Addin unit
  and regression tests
- Updating regression algorithms to use new setting, reduce order trades

* Update regression algorithms
2021-07-19 13:17:51 -03:00
Martin-Molinero f75e81bd7d Add null check for API data folder (#5774)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
- Api.Initialize will not throw for null data folder. Adding unit test
2021-07-16 18:27:42 -03:00
Martin-Molinero 9cf4075957 Send invalid orderEvent for non shortable order (#5772)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
- TransactionHandler will see invalid OrderEvent for an order which
  tries to short an non shortable asset. Adding unit test, updating
  regression algorithm.
- Fix Api data price path normalization, found while testing with
shortable provider. Adding unit tests
2021-07-15 21:10:46 -03:00
Colton Sellers 8d11bbf0ba Update to PythonNet 2.0.5 (#5764)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
2021-07-14 11:01:57 -03:00
Stefano Raggi e453635458 Update Binance symbols in symbol properties database (#5759)
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
* Update Binance symbols in symbol properties database

* Fix failing unit tests
2021-07-12 13:28:28 -03:00
Martin-Molinero d84ad9ebfc Reduce research image size (#5758)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
- Reduce research image size
- Increate BrokerageConcurrentMessageHandler unit test timeout
2021-07-12 09:58:11 -03:00
Martin-Molinero f9adc6b136 Rename data permissions (#5753)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
2021-07-09 22:59:14 -03:00
Jovad Uribe e5f62fa4dd Feature Augen Price Spike Indicator (#5713)
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
* Added Augen Price Spike Files

* AugenPriceSpike Update

Adjusted indicator calculations and added test data from Trading View

* Requested Changes

* Minor changes
2021-07-09 20:07:15 -03:00
Colton Sellers 3430b46e6a BuyingPowerModel GetMaximumOrder Adjustments (#5756)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Add reproducing unit test

* Apply fix to force adjustment if needed

* Adjust fee to correctly replicate original issue

* Adjust solution

* Update unit test to reflect the way this function is used

* nit - rename test

* Cleanup error message to improve reproducibility

* nit - Drop unneeded var

* Add in adjustment test cases as well, fixed
2021-07-09 19:37:48 -03:00
Colton Sellers 00ac4f33af Implement Python overload of Notify.Web for PyObject Headers (#5749)
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
* Implement Python overload of Notify.Web for PyObject Headers

* Address review + add unit tests
2021-07-08 21:07:19 -03:00
Colton Sellers 0d752abae6 Feature Telegram Notification (#5535)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Lay telegram notification groundwork

* nit comments

* Implement in JSON converter, and add roundtrip test

* Update comment docs

* Implement configurable token in NotificationTelegram

* Rename to ID, due to @ handles not usable

* Address review + nits

* Nit comment fix
2021-07-07 21:06:45 -03:00
Martin-Molinero 49d6cb0021 QuantBook fundamental history request (#5743)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
- Allow requiesting the entire FineFundamental object for a QuantBook
  history request. Adding unit test
2021-07-07 12:02:01 -03:00
bmello4688 8383163aae fixed problems with testcasesource (#5722)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
2021-07-06 12:04:04 -03:00
bmello4688 04f3c850ba test fails sometimes from a race to check value (#5720)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* test fails sometimes from a race to check value

* add while limit
2021-07-05 19:03:12 -03:00
Martin-Molinero 8d2455b629 Add BrokerageConcurrentMessageHandler (#5731)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Add BrokerageConcurrentMessageHandler

- Add Brokerage helper `BrokerageConcurrentMessageHandler` class to lock message stream
while executing an action, for example placing an order, adding unit tests.
- Binance will use new message handler

* Fix unit test
2021-07-02 19:11:25 -03:00
Colton Sellers 171f0f19d5 MaximumOrderQuantity Bug Fix (#5727)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Implement solution with lightest changes possible

* Update regressions v1

* Adjust AlgorithmTradingTests

* Adjust PatternDayTradingMarginBuyingPowerModel tests

* Drop need to loop twice

* Adjust last unit test, with calculations included

* nit - comment fix

* Break out adjustment calculation to static function; add unit test

* Update Py regression

* Upgrade adjustment calculation to be smart enough to get us to target always

* nit - cleanup GetAmountToOrder

* Add license to test

* nit - comment fix

* cleanup GetAmountToOrder further

* Add additional test cases
2021-07-02 18:52:15 -03:00
Ronit Jain c8d13080a8 Indian Market support for backtesting and live deploys through Zerodha (#5710)
* added symbolData class to store exchange and token values of tickers

* support for India Market

(cherry picked from commit 5f629dcb9e72426dc7b560e782cb1fae72861574)

* removed local vscode workspace file

* support for india market instead of nse and other exchanges

* changed hardcoded india values to Market.India

* changed zerodha getcash fromm available to net

* addded edge case handoing with expections

* support for market info (nse, bse) for india market

* exchange info for EmitQuoteTick

* basic testing with c#

* c# algo

* c# testing

* live orders during market open success

* support orderproperties for exchange value for order placement

* added exceptional handling cases

* fix xml descriptions for the files

* fix zerodha-product-type in DefaultOrderProperties

* add basic template for india market

* fix orderProperites for default values

* fix for local data, python implementation not available

* fix access modifiers of SymbolData

* fix variable name case

* fix single check for exchange, call to base

* fix styling, redundent code and access modifers

* fix non static not callable from static

* fix static
2021-07-02 11:06:47 -03:00
Gerardo Salazar c9a3ad35e1 Fix Futures SymbolRepresentation disambiguation of ticker with limited year information (#5715)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Fixes bug where future converter processing includes invalid values

* Fix issue in SymbolRepresentation

* Fixup

* Empty commit

* Empty commit
2021-06-29 17:37:06 -03:00
Martin-Molinero 66552b49bd Add new DownloaderDataProvider (#5709)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Add new DownloaderDataProvider

- Moving LeanDataWrite and IDataDownloader to common project
- Add new BaseDataDownloaderDataProvider with concurrency helper method
- Add new DownloaderDataProvider which will use a IDataDownloader or
  IBrokerage implementation as data source

* Add support for downloading symbol chains data
2021-06-28 15:56:10 -03:00
Colton Sellers c7e6c96933 Encode/Decode Extension Addition (#5708)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Implement Encode/Decode Base 64

* Add unit test
2021-06-25 17:50:55 -03:00
Martin-Molinero 10defd4928 Include IB CSharpAPI in brokerage nuget (#5706)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
2021-06-24 18:59:14 -03:00
Colton Sellers a987e0231f Scheduled Events for Start/End Week/Month Fix (#5690)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Apply fix for both start and end month cases

* Add unit tests for both cases

* Fix weekstart/weekend for same issue; add unit tests

* nit - rename tests

* Adjust logic
2021-06-22 14:20:00 -03:00
Martin-Molinero 8fb649ceb4 SymbolJsonConverter improvements (#5683)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* SymbolJsonConverter improvements

- SymbolJsonConverter will be able to deserialize symbols expressed in
  user friendly format. Adding unit test
- Adding a couple of helper methods, removing duplicated code

* Fix FOPs expiration year parsing
2021-06-21 21:02:46 -03:00
Stefano Raggi 080511fa5a Add IResultHandler.BrokerageMessage (#5681)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Add IResultHandler.BrokerageMessage

- Result handlers can receive notifications for brokerage message events

* Make LiveTradingResultHandler.RuntimeError virtual
2021-06-21 12:23:46 -03:00
Alexandre Catarino 5361f87dd1 Updates Equity Market Data (#5576)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Updates Equity Market Data

* Updates Unit Tests

* Updates Regression Tests

In this commit we include regression tests with small changes (slightly different CAGR, Alpha, etc, but same number of trades) due to the data update.

* Updates Regression Tests 2

The following regression tests were adapt because of verification of hard-coded market data values:
- `AdjustedVolumeRegressionAlgorithm`
- `HistoryWithSymbolChangesRegressionAlgorithm`
- `OptionRenameRegressionAlgorithm`
- `RawDataRegressionAlgorithm`
- `SwitchDataModeRegressionAlgorithm`

The following regression tests have more trades since adjusted prices allowed more 1-2 shares trades that were rounded down to zero before:
- `AddUniverseSelectionModelCoarseAlgorithm` 23 -> 35
- `MeanVarianceOptimizationFrameworkAlgorithm` 12 -> 14
- `PortfolioRebalanceOnDateRulesRegressionAlgorithm` 298 -> 324
- `PortfolioRebalanceOnInsightChangesRegressionAlgorithm` 83 -> 86
- `ScheduledUniverseSelectionModelRegressionAlgorithm` 86 -> 90
- `SectorExposureRiskFrameworkAlgorithm` 17 -> 22
- `SetHoldingsMultipleTargetsRegressionAlgorithm` 8 -> 9
- `StandardDeviationExecutionModelRegressionAlgorithm` 196 -> 199
- `UniverseUnchangedRegressionAlgorithm` 11 -> 17
- `VolumeWeightedAveragePriceExecutionModelRegressionAlgorithm` 237 -> 238

Especial cases:
- `BlackLittermanPortfolioOptimizationFrameworkAlgorithm` 18 -> 17
 - BLM model sensibility
- `OptionChainedAndUniverseSelectionRegressionAlgorithm`

The following regression tests have different Capacity because of different volume from lowest capacity asset, except:
- `OptionEquityCoveredCallRegressionAlgorithm` New lowest capacity asset is underlying
- `OptionEquityCoveredPutRegressionAlgorithm` New lowest capacity asset is underlying

* Revert File Update for SPWR and SPWRA

* Fix Regression Tests

Temporarily removes python regression test for `MeanVarianceOptimizationFrameworkAlgorithm` as the `MeanVarianceOptimizationPortfolioConstructionModel` for each version are yeilding different results. If we use C# version in `MeanVarianceOptimizationPortfolioConstructionModel.py`, the results match.

* Changes Optimization Method in MinimumVariancePortfolioOptimizer [Py]

Uses `trust-constr`  method.
See https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html
2021-06-17 14:04:51 -03:00
Colton Sellers 74f0c89499 Option Chain Provider Symbol Map Resolve (#5664)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Use mapFileProvider to resolve symbol mapping

* Add reproducing unit test

* Only resolve mapping for types that require it

* address review
2021-06-16 19:42:38 -03:00
Martin-Molinero 0991f089d0 Reduce disk usage in the cloud (#5673)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
2021-06-16 18:43:55 -03:00
Martin-Molinero 03f56481d4 Refactor python algorithm import (#5657)
Regression Tests / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
* Python research import improvements

- Improve start.py for research env
- Remove unrequired imports

* Centralize algorithm imports

* Add regression test GH action

* Unit test python import clean up

* Join research and main imports

* More python import clean up

* Fix failing skipped regression algorithm
2021-06-15 19:06:06 -03:00
Alexandre Catarino c4e6e7f8dc Changes VIXCentralContango.F9 to Nullable (#5662)
Build & Test Lean / build (push) Has been cancelled
According to the data, the contract 8 months away from the front-month contract, `F9`, can be null.
2021-06-14 16:23:28 -07:00
Colton Sellers 7f9d35f666 Research BollingerBands Value Error (#5656)
Build & Test Lean / build (push) Has been cancelled
* Stop update when properties will fail to update

* Only enforce our case after the BB is ready

* Nit comment fixes

* Add unit test

* Use faster DateTime.UtcNow
2021-06-14 14:23:05 -03:00
Martin-Molinero b7c18cbfe7 Update pythonNet to net5 (#5653)
Build & Test Lean / build (push) Has been cancelled
- Csproj clean up legacy build print logs
- Update pythonNet to net5
2021-06-11 13:51:09 -03:00
Martin-Molinero 6e6a1631dc Enable loading crypto live virtual position tracking (#5651)
Build & Test Lean / build (push) Has been cancelled
* Enable loading live virtual position tracking

- Enable GDAX paper trading configurations
- GDAX will optionally load existing holdings from live job package
- Bitfinex will try loading existing holdings from live job package for
  cash account type

* Binance live holdings loading
2021-06-10 20:05:23 -03:00
Gerardo Salazar 250ffa1fec Adds VIXCentralContango data, modifies cached alternative data sourcing in live mode (#5648)
Build & Test Lean / build (push) Has been cancelled
* Adds VIXCentral Contango data

  * Refactor cached alternative data in live mode to
    use web endpoint if the data is not available locally

* Remove fallback to cache bucket for CBOE/FRED/EIA/VIXCentralContango

* Address review: force VIX as ticker for all VIXCentralContango data
2021-06-09 20:44:53 -03:00
Louis Szeto 9f15ca4c9c feature-<#5631>-<Create SpreadExecutionModel> (#5633)
Build & Test Lean / build (push) Has been cancelled
* Create SpreadExecutionModel.py

* Update SpreadExecutionModel.py

* Update SpreadExecutionModel.py

* Update SpreadExecutionModel.py

* Update SpreadExecutionModel.py

* Update SpreadExecutionModel.py

* Update SpreadExecutionModel.py

* Update SpreadExecutionModel.py

* Create SpreadExecutionModel.cs

* Create SpreadExecutionModelTests.cs

* Update SpreadExecutionModelTests.cs

* Update SpreadExecutionModel.cs

* Update SpreadExecutionModelTests.cs

* Update SpreadExecutionModel.cs

* Update SpreadExecutionModel.cs

* Update SpreadExecutionModelTests.cs

* Update SpreadExecutionModel.cs

* Update QuantConnect.Algorithm.Framework.csproj

* Create SpreadExecutionModelRegressionAlgorithm.py

* Update SpreadExecutionModelTests.cs

* Update SpreadExecutionModelTests.cs

* Update SpreadExecutionModelTests.cs

* Update SpreadExecutionModelTests.cs

* Update SpreadExecutionModel.py

* Update SpreadExecutionModel.cs

* Address review

- Adding CSharp regression algorithm implementation
- Updating unit tests, minor format changes

* Address review. Add comment and Abs spread percent

Co-authored-by: Martin-Molinero <martin@quantconnect.com>
2021-06-09 14:55:00 -03:00
IlshatGaripov d23ac25b67 Polygon IO limited aggregate bars per request. Fix. (#5363)
Build & Test Lean / build (push) Has been cancelled
* Applies a fix

* Fixing the tests to cover downloader func. Fixing the queue handler

* this has to be removed

* -- Fixes -- [WIP]

* Implements the way to upload historical bars in async fashion. [ WIP ]

* Finishes GetEquityTradeTicks() impl.

* Do not break iteration if result is null

* Uses DisposeSafely and fixes a typo

* To use IEnumerable for return type in GetHistoryAsync

* Fixes GetEquityQuoteTicks()

* Removes GetHistoryAsync() and reverts the associated with it changes

* SubscriptionManager -> revert the changes

* PolygonDataQueueHandler -> use SIP timestamp as it keeps the order

* PolygonDataQueueHandler -> use Log.Trace for the no data {date} message

* Fixes GetForexQuoteTicks()

* Introduce ResponseSizeLimitAggregateData

* Fixes up GetCryptoTradeTicks()

* Small fixes for tick processing methods

* Removes launchSettings.json

* Refactor download data logic

- Replace WebClient for HttpClient
- Remove duplicated download logic and parsing for a single static
  method

* Update PolygonDataQueueHandler.cs

Remove commented code

Co-authored-by: Martin-Molinero <martin@quantconnect.com>
2021-06-09 10:43:34 -03:00
Colton Sellers 8f7f862563 Ignore Tests (#5646)
Build & Test Lean / build (push) Has been cancelled
2021-06-09 10:25:07 -03:00
Colton Sellers 0f0eeaff82 DataProvider Updates & Refactoring (#5641)
* Use DataProvider for fetching Shortable and FutureMargins files

* Use data provider for AllShortableSymbols

* Refactor of NeedToDownload logic

* Adjustments

* nit - cleanup

* Expand test cases

* Create the directory if it doesn't exist
2021-06-08 22:11:21 -03:00
Stefano Raggi e875b111d7 IB Brokerage updates (#5642)
Build & Test Lean / build (push) Has been cancelled
* Add immediate logging for IB brokerage unit tests

* Filter brokerage message event for IB warning

- 10197 - No market data during competing live session.

* Update IBAutomater to v2.0.32

* Update IBAutomater to v2.0.33
2021-06-08 11:29:29 -03:00
Martin-Molinero a231a7d47a Update python net to 2.0.3 (#5640)
Build & Test Lean / build (push) Has been cancelled
* Update pythonNet version to 2.0.3

* Fix outputPath causing issues with nuget
2021-06-07 21:37:26 -03:00
Colton Sellers 37cce922d3 Api Data Request Path Format Issue (#5639)
Build & Test Lean / build (push) Has been cancelled
* Address some format issues for data request paths

* Add reproducing test

* Drop logging for failure, let Api take care of it
2021-06-07 20:59:39 -03:00
Martin-Molinero 42c58d6e53 Ensure data is downloaded only once (#5635)
Build & Test Lean / build (push) Has been cancelled
- Ensure data is downloaded only once with the ApiDataProvider. Adding
  unit test
- Log invalid securityType ApiDataProvider requests once
- Assert Factor file and map file providers are compatible with the
  ApiDataProvider
2021-06-07 14:26:24 -03:00
Colton Sellers ab6027723f Refactor Api (#5251)
Build & Test Lean / build (push) Has been cancelled
* Use lean data key as param for request

* key -> filePath rename and some cleanup

* Refactor

* Add Organizations Endpoints

* Add some organization api wrapper objects

* Address namespace issue

* Reorganize Api Test into seperate files using one ApiTestBase

* Add Organization tests

* Use capitalized "API" test namespace to reduce amount of file changes

* Add License to test base

* Update /data endpoint functions and response objects

* Update ApiDataProvider Logic

* Handle deserialization of organization products

* Simplify converter

* Only throw for equity requests when not subscribed to map/factor files

* Add missing header

* Make arguement exception

* Api adjustments

* Add Zip factor and map file providers

- Common project will now reference Compression project and not the other way
  round.
- Adding Zip FactorFile and MapFile providers

* Refactor FactorFileProvider to use DataProvider to fetch files

* Use resulting MinimumDate in construction of FactorFile

* Nit FactorFile comments and arrangement

* Refactor MapFileProviders to use DataProvider for fetching files

* Refactor ZipFileProvider

* Clean up

* Refactor Backtesting Future/Option chain providers to use dataprovider

* Fixes for data/ endpoints and test adjustments

* Response objects adjustments/cleanups

* ApiDateProvider fixes and testing

* Add LocalZipFactorFileTests

* Update ApiDataProvider download test to verify stream is not null

* Implement posting of agreement summary and signed time

* Mark all Api related tests as explicit and document details on running

* Clarify default token on ApiTestBase

* Adjust summary

* Update Api responses for QCC, except org products which are sold in USD

* Implement cache expiration for zip MapFile and FactorFiles. Adding unit tests

* Fix multiple markets for ZipFactorFile provider

* Use Symbol as cache key

* Api.cs review

* Dispose of factorFileStream after reading

* Use zip.EntryFileNames

* Address a few reviews

* Few more fixes

* Address Api Review

* Add Job Org id to config

* Minor tweaks

* Compare with invariant culture

* Fixes Option Universe selection

* ZipEntryNameSubscriptionDataSourceReader will use IDataProvider

* Fix research

* Fix null reference exception

* Make duplicate log debug

Co-authored-by: Martin-Molinero <martin@quantconnect.com>
2021-06-07 11:37:44 -03:00
Alexandre Catarino 37473c4580 Fixes OverflowException in FuturesOptionsMarginModel (#5629)
Build & Test Lean / build (push) Has been cancelled
2021-06-04 21:24:19 -03:00
Martin-Molinero c66a26e01d Fix build: Holding.Type is not setable (#5628)
Build & Test Lean / build (push) Has been cancelled
2021-06-03 21:03:18 -03:00
Colton Sellers 41f9d9da94 Remove SecurityInitializer from Universe Selection (#5418)
Build & Test Lean / build (push) Has been cancelled
* Attempt to remove SecurityInitializer from UniverseSelection stack entirely

* Fix broken Python Universe Selection model

* Remove mistake change (meant for another branch)
2021-05-28 14:53:13 -03:00
Martin-Molinero 0335b49edf Update pythonNet to 2.0.2 (#5611) 2021-05-28 12:10:55 -03:00
Colton Sellers 459f812223 Duplicated Points in Custom DataFrame Fix (#5606)
Build & Test Lean / build (push) Has been cancelled
* Don't add "value" to series twice

* Reproducing unit test
2021-05-26 18:44:13 -03:00
Martin-Molinero 22caf9ef2a FOPs margin as a curve (#5607)
Build & Test Lean / build (push) Has been cancelled
* FOPs margin as a curve

- Adjust FOPs margin requirement so that it behaves like an 'S' curve
  for the contract strike, around the underlying price and it's margin requirement.
  Based on IB behavior. Adding unit tests for different future contracts
- Improve a couple of unit test cleanup

* Add ES Short Call unit test
2021-05-26 18:09:05 -03:00