Saturday, January 27, 2018

How to use AlgoTrader APIs and how to develop your own AWS application using algorithmic trading tools

Hello everyone,



Today, I am going to show how to create a trade strategy using AlgoTrader API. How to use AlgoTrader APIs and how to develop your own application using algorithmic trading APIs for broker/customer markets

Using Auto Trader API you can create trading strategies, deploy and generates the back tests to your trade. You can generate Options & Futures as other many features.

Few points before we start:

• You need a cloud service account, eg: Amazon AWS account id. That will be the service account to generate the trades, exchanges and back tests and logs.
• Once you have this prerequisite setup, you can go thru your Amazon EC2 VM and
start running your development as I show below.



• The beauty is these back tests can process 500,000 events per seconds. Once you are happy with back tests results you can start doing tradings.

• For Options & Futures you can have SABR calibration and Delta Hedging service
- OptionUtil, OptionService and ch.algotrader.service.OptionService.


Summarizing it - In this article, I am going to show:
1. How to create a new strategy using eclipse and Autotrader API.
2. How to back test it.
3. How to deploy it.

First of all, I would like to show the DataModel of AlgoTrader to clarify how the strategy is connected to the other actions and events.


And also the UML diagram of the strategy:




So, let’s move to the steps to use AlgoTrader Api.
1. How to create a new strategy using eclipse and Autotrader API.
1.1.1. First step: You need to create a new strategy using eclipse. Create a new Maven project as showed below.






1.1.2. The modules(eg: module-box-init.epl) contains the signal generation logic. Such as SEND_ORDER, MOVING_AVERAGE , in case of strategy many others for each as specific case scenario.

1.1.3. Example Service:

1.1.3.1.1. onStart method is called on the strategy starts up.

1.1.3.1.2. sendOrder is called from a signal to create a market order that sends to exchange process.

2. The backtest
2.1.1. The backTest is logged to the console. It can process up to 500.000 process per second.


2.1.2. At the end of the backTest, it generates a concise report with key metrics for you analysis.

NOTE: in excel format

3. Deploy it
3.1.1. You can place order manually
3.1.2. You can see and draw in your chart.
3.1.3. The latest release AlgoTrader is using Docker to build, ship and run this distributed application.
3.1.4. Using Docker, we can easily deploy a trading strategy in AWS - where you can monitor thru the browser anywhere.


4. Benefits of AlgoTrader
4.1. Running multiple strategies simultaneously.
4.2. Customizing the platform.
4.3. Integrating the third party libraries
4.4. Trading multiple accounts.
4.5. Connecting to multiple brokers at same time.
4.6- There are very nice features developing Options(Using the Class OptionUtil). You can run by option price, implied volatility, intrinsic value, delta,vega,theta, forward price, moneyness or even strike by delta.
4.7- SABR Calibration- OptionService class has the SABR calibration that happens for one specific expiration and takes an array of strikes with their corresponding array of volatilities.


I hope it helps all of you that want to create your own trade tool or web application.


Happy coding,
Thiago Leoncio.
               


Reference:
AlgoTrader JAVA API http://doc.algotrader.ch/javadoc/index.html
AlgoTrader UML Model http://doc.algotrader.ch/uml/AlgoTrader-UML-Model.pdf
SABR Stochastic model: http://www.lesniewski.us/papers/published/HedgingUnderSABRModel.pdf






Saturday, December 9, 2017

How to easily install Gradle on MAC

Hello my developers friends,


How to easily install Gradle on MAC:



Helpful Links first:

http://sdkman.io/install.html

https://brew.sh/


ThiagoLeoncio:GradleHelloWorld tLeoncio$ curl -s "https://get.sdkman.io" | bash

                                -+syyyyyyys:
                            `/yho:`       -yd.
                         `/yh/`             +m.
                       .oho.                 hy                          .`
                     .sh/`                   :N`                `-/o`  `+dyyo:.
                   .yh:`                     `M-          `-/osysoym  :hs` `-+sys:      hhyssssssssy+
                 .sh:`                       `N:          ms/-``  yy.yh-      -hy.    `.N-````````+N.
               `od/`                         `N-       -/oM-      ddd+`     `sd:     hNNm        -N:
              :do`                           .M.       dMMM-     `ms.      /d+`     `NMMs       `do
            .yy-                             :N`    ```mMMM.      -      -hy.       /MMM:       yh
          `+d+`           `:/oo/`       `-/osyh/ossssssdNMM`           .sh:         yMMN`      /m.
         -dh-           :ymNMMMMy  `-/shmNm-`:N/-.``   `.sN            /N-         `NMMy      .m/
       `oNs`          -hysosmMMMMydmNmds+-.:ohm           :             sd`        :MMM/      yy
      .hN+           /d:    -MMMmhs/-.`   .MMMh   .ss+-                 `yy`       sMMN`     :N.
     :mN/           `N/     `o/-`         :MMMo   +MMMN-         .`      `ds       mMMh      do
    /NN/            `N+....--:/+oooosooo+:sMMM:   hMMMM:        `my       .m+     -MMM+     :N.
   /NMo              -+ooooo+/:-....`...:+hNMN.  `NMMMd`        .MM/       -m:    oMMN.     hs
  -NMd`                                    :mm   -MMMm- .s/     -MMm.       /m-   mMMd     -N.
 `mMM/                                      .-   /MMh. -dMo     -MMMy        od. .MMMs..---yh
 +MMM.                                           sNo`.sNMM+     :MMMM/        sh`+MMMNmNm+++-
 mMMM-                                           /--ohmMMM+     :MMMMm.       `hyymmmdddo
 MMMMh.                  ````                  `-+yy/`yMMM/     :MMMMMy       -sm:.``..-:-.`
 dMMMMmo-.``````..-:/osyhddddho.           `+shdh+.   hMMM:     :MmMMMM/   ./yy/` `:sys+/+sh/
 .dMMMMMMmdddddmmNMMMNNNNNMMMMMs           sNdo-      dMMM-  `-/yd/MMMMm-:sy+.   :hs-      /N`
  `/ymNNNNNNNmmdys+/::----/dMMm:          +m-         mMMM+ohmo/.` sMMMMdo-    .om:       `sh
     `.-----+/.`       `.-+hh/`         `od.          NMMNmds/     `mmy:`     +mMy      `:yy.
           /moyso+//+ossso:.           .yy`          `dy+:`         ..       :MMMN+---/oys:
         /+m:  `.-:::-`               /d+                                    +MMMMMMMNh:`
        +MN/                        -yh.                                     `+hddhy+.
       /MM+                       .sh:
      :NMo                      -sh/
     -NMs                    `/yy:
    .NMy                  `:sh+.
   `mMm`               ./yds-
  `dMMMmyo:-.````.-:oymNy:`
  +NMMMMMMMMMMMMMMMMms:`
    -+shmNMMMNmdy+:`


                                                                 Now attempting installation...


Looking for a previous installation of SDKMAN...
Looking for unzip...
Looking for zip...
Looking for curl...
Looking for sed...
Installing SDKMAN scripts...
Create distribution directories...
Getting available candidates...
Prime the config file...
Download script archive...
######################################################################## 100.0%
Extract script archive...
Install scripts...
Set version to 5.6.1+290 ...
Attempt update of login bash profile on OSX...
Added sdkman init snippet to /Users/tleoncio/.bash_profile
Attempt update of zsh profile...
Updated existing /Users/tleoncio/.zshrc



All done!


Please open a new terminal, or run the following in the existing one:

    source "/Users/tleoncio/.sdkman/bin/sdkman-init.sh"

Then issue the following command:

    sdk help

Enjoy!!!
ThiagoLeoncio:GradleHelloWorld tleoncio$ source "$HOME/.sdkman/bin/sdkman-init.sh"
ThiagoLeoncio:GradleHelloWorld tleoncio$ sdk version
==== BROADCAST =================================================================
* 01/02/18: Grails 3.2.12 released on SDKMAN! #grailsfw
* 24/01/18: Gradle 4.5 released on SDKMAN! #gradle
* 23/01/18: Kotlin 1.2.21 released on SDKMAN! #kotlin
================================================================================

SDKMAN 5.6.1+290
ThiagoLeoncio:GradleHelloWorld tleoncio$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following existing directories will be made group writable:
/usr/local/sbin
==> The following existing directories will have their owner set to tleoncio:
/usr/local/sbin
==> The following existing directories will have their group set to admin:
/usr/local/sbin
==> The following new directories will be created:
/usr/local/Homebrew
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
==> The Xcode Command Line Tools will be installed.

Press RETURN to continue or any other key to abort
==> /usr/bin/sudo /bin/chmod u+rwx /usr/local/sbin
Password:
==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/sbin
==> /usr/bin/sudo /usr/sbin/chown tleoncio /usr/local/sbin
==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/sbin
==> /usr/bin/sudo /bin/mkdir -p /usr/local/Homebrew /usr/local/share/zsh /usr/local/share/zsh/site-functions
==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/Homebrew /usr/local/share/zsh /usr/local/share/zsh/site-functions
==> /usr/bin/sudo /bin/chmod 755 /usr/local/share/zsh /usr/local/share/zsh/site-functions
==> /usr/bin/sudo /usr/sbin/chown tleoncio /usr/local/Homebrew /usr/local/share/zsh /usr/local/share/zsh/site-functions
==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/Homebrew /usr/local/share/zsh /usr/local/share/zsh/site-functions
==> /usr/bin/sudo /bin/mkdir -p /Users/tleoncio/Library/Caches/Homebrew
==> /usr/bin/sudo /bin/chmod g+rwx /Users/tleoncio/Library/Caches/Homebrew
==> /usr/bin/sudo /usr/sbin/chown tleoncio /Users/tleoncio/Library/Caches/Homebrew
==> Searching online for the Command Line Tools
==> /usr/bin/sudo /usr/bin/touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
==> Installing Command Line Tools (OS X 10.10) for Xcode-7.2
==> /usr/bin/sudo /usr/sbin/softwareupdate -i Command\ Line\ Tools\ (OS\ X\ 10.10)\ for\ Xcode-7.2
Software Update Tool
Copyright 2002-2012 Apple Inc.

Finding available software

Downloading Command Line Tools (OS X 10.10) for Xcode
Downloaded Command Line Tools (OS X 10.10) for Xcode
Installing Command Line Tools (OS X 10.10) for Xcode
Done with Command Line Tools (OS X 10.10) for Xcode
Done.
==> /usr/bin/sudo /bin/rm -f /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
==> /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools
==> Downloading and installing Homebrew...
remote: Counting objects: 96965, done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 96965 (delta 3), reused 4 (delta 0), pack-reused 96948
Receiving objects: 100% (96965/96965), 22.05 MiB | 15.86 MiB/s, done.
Resolving deltas: 100% (70389/70389), done.
From https://github.com/Homebrew/brew
 * [new branch]      master     -> origin/master
 * [new tag]         0.1        -> 0.1
 * [new tag]         0.2        -> 0.2
 * [new tag]         0.3        -> 0.3
 * [new tag]         0.4        -> 0.4
 * [new tag]         0.5        -> 0.5
 * [new tag]         0.6        -> 0.6
 * [new tag]         0.7        -> 0.7
 * [new tag]         0.7.1      -> 0.7.1
 * [new tag]         0.8        -> 0.8
 * [new tag]         0.8.1      -> 0.8.1
 * [new tag]         0.9        -> 0.9
 * [new tag]         0.9.1      -> 0.9.1
 * [new tag]         0.9.2      -> 0.9.2
 * [new tag]         0.9.3      -> 0.9.3
 * [new tag]         0.9.4      -> 0.9.4
 * [new tag]         0.9.5      -> 0.9.5
 * [new tag]         0.9.8      -> 0.9.8
 * [new tag]         0.9.9      -> 0.9.9
 * [new tag]         1.0.0      -> 1.0.0
 * [new tag]         1.0.1      -> 1.0.1
 * [new tag]         1.0.2      -> 1.0.2
 * [new tag]         1.0.3      -> 1.0.3
 * [new tag]         1.0.4      -> 1.0.4
 * [new tag]         1.0.5      -> 1.0.5
 * [new tag]         1.0.6      -> 1.0.6
 * [new tag]         1.0.7      -> 1.0.7
 * [new tag]         1.0.8      -> 1.0.8
 * [new tag]         1.0.9      -> 1.0.9
 * [new tag]         1.1.0      -> 1.1.0
 * [new tag]         1.1.1      -> 1.1.1
 * [new tag]         1.1.10     -> 1.1.10
 * [new tag]         1.1.11     -> 1.1.11
 * [new tag]         1.1.12     -> 1.1.12
 * [new tag]         1.1.13     -> 1.1.13
 * [new tag]         1.1.2      -> 1.1.2
 * [new tag]         1.1.3      -> 1.1.3
 * [new tag]         1.1.4      -> 1.1.4
 * [new tag]         1.1.5      -> 1.1.5
 * [new tag]         1.1.6      -> 1.1.6
 * [new tag]         1.1.7      -> 1.1.7
 * [new tag]         1.1.8      -> 1.1.8
 * [new tag]         1.1.9      -> 1.1.9
 * [new tag]         1.2.0      -> 1.2.0
 * [new tag]         1.2.1      -> 1.2.1
 * [new tag]         1.2.2      -> 1.2.2
 * [new tag]         1.2.3      -> 1.2.3
 * [new tag]         1.2.4      -> 1.2.4
 * [new tag]         1.2.5      -> 1.2.5
 * [new tag]         1.2.6      -> 1.2.6
 * [new tag]         1.3.0      -> 1.3.0
 * [new tag]         1.3.1      -> 1.3.1
 * [new tag]         1.3.2      -> 1.3.2
 * [new tag]         1.3.3      -> 1.3.3
 * [new tag]         1.3.4      -> 1.3.4
 * [new tag]         1.3.5      -> 1.3.5
 * [new tag]         1.3.6      -> 1.3.6
 * [new tag]         1.3.7      -> 1.3.7
 * [new tag]         1.3.8      -> 1.3.8
 * [new tag]         1.3.9      -> 1.3.9
 * [new tag]         1.4.0      -> 1.4.0
 * [new tag]         1.4.1      -> 1.4.1
 * [new tag]         1.4.2      -> 1.4.2
 * [new tag]         1.4.3      -> 1.4.3
 * [new tag]         1.5.0      -> 1.5.0
 * [new tag]         1.5.1      -> 1.5.1
 * [new tag]         1.5.2      -> 1.5.2
HEAD is now at a44b21b Merge pull request #3751 from xiehuc/master
==> Downloading https://homebrew.bintray.com/bottles-portable-ruby/portable-ruby-2.3.3.leopard_64.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring portable-ruby-2.3.3.leopard_64.bottle.1.tar.gz
==> Tapping homebrew/core
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...
remote: Counting objects: 4645, done.
remote: Compressing objects: 100% (4435/4435), done.
remote: Total 4645 (delta 48), reused 768 (delta 24), pack-reused 0
Receiving objects: 100% (4645/4645), 3.79 MiB | 0 bytes/s, done.
Resolving deltas: 100% (48/48), done.
Checking connectivity... done.
Tapped 4442 formulae (4,686 files, 11.9MB)
==> Cleaning up /Library/Caches/Homebrew...
==> Tapping caskroom/cask
Cloning into '/usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask'...
remote: Counting objects: 4011, done.
remote: Compressing objects: 100% (3982/3982), done.
remote: Total 4011 (delta 35), reused 721 (delta 25), pack-reused 0
Receiving objects: 100% (4011/4011), 1.37 MiB | 0 bytes/s, done.
Resolving deltas: 100% (35/35), done.
Checking connectivity... done.
Tapped 0 formulae (4,019 files, 4.3MB)
Removing: /Library/Caches/Homebrew/gdbm-1.11.yosemite.bottle.2.tar.gz... (163.3KB)
Removing: /Library/Caches/Homebrew/ideviceinstaller-1.1.0_2.yosemite.bottle.tar.gz... (22KB)
Removing: /Library/Caches/Homebrew/ios-webkit-debug-proxy-1.6.yosemite.bottle.tar.gz... (138.5KB)
Removing: /Library/Caches/Homebrew/libimobiledevice-1.2.0.yosemite.bottle.tar.gz... (254.7KB)
Removing: /Library/Caches/Homebrew/libplist-1.12.yosemite.bottle.tar.gz... (92.3KB)
Removing: /Library/Caches/Homebrew/libtasn1-4.7.yosemite.bottle.tar.gz... (131.6KB)
Removing: /Library/Caches/Homebrew/libusb-1.0.20.yosemite.bottle.tar.gz... (106.0KB)
Removing: /Library/Caches/Homebrew/libxml2-2.9.3.yosemite.bottle.tar.gz... (2.3MB)
Removing: /Library/Caches/Homebrew/libzip-1.1.yosemite.bottle.tar.gz... (132.9KB)
Removing: /Library/Caches/Homebrew/openssl-1.0.2g.yosemite.bottle.tar.gz... (3.6MB)
Removing: /Library/Caches/Homebrew/pkg-config-0.29.1.yosemite.bottle.tar.gz... (235.8KB)
Removing: /Library/Caches/Homebrew/python3-3.5.1.tar.xz... (14.1MB)
Removing: /Library/Caches/Homebrew/readline-6.3.8.yosemite.bottle.tar.gz... (741.5KB)
Removing: /Library/Caches/Homebrew/sqlite-3.11.0_1.yosemite.bottle.tar.gz... (1.3MB)
Removing: /Library/Caches/Homebrew/usbmuxd-1.0.10.yosemite.bottle.1.tar.gz... (39.4KB)
Removing: /Library/Caches/Homebrew/xz-5.2.2.yosemite.bottle.tar.gz... (450.3KB)
==> Migrating /Library/Caches/Homebrew to /Users/tleoncio/Library/Caches/Homebrew...
==> Deleting /Library/Caches/Homebrew...
Already up-to-date.
Error: Could not link:
/usr/local/share/man/man1/brew.1

Please delete these paths and run `brew update`.
Error: Could not link:
/usr/local/share/doc/homebrew

Please delete these paths and run `brew update`.
==> Installation successful!

==> Homebrew has enabled anonymous aggregate user behaviour analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics.html

==> Next steps:
- Run `brew help` to get started
- Further documentation: 
    https://docs.brew.sh
ThiagoLeoncio:GradleHelloWorld tleoncio$ gradle
-bash: gradle: command not found
ThiagoLeoncio:GradleHelloWorld tleoncio$ brew install wget
==> Installing dependencies for wget: pkg-config, gettext, libunistring, libidn2, makedepend, openssl
==> Installing wget dependency: pkg-config
==> Downloading https://homebrew.bintray.com/bottles/pkg-config-0.29.2.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring pkg-config-0.29.2.yosemite.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/pkg-config
Target /usr/local/bin/pkg-config
is a symlink belonging to pkg-config. You can unlink it:
  brew unlink pkg-config

To force the link and overwrite all conflicting files:
  brew link --overwrite pkg-config

To list all files that would be deleted:
  brew link --overwrite --dry-run pkg-config

Possible conflicting files are:
/usr/local/bin/pkg-config -> /usr/local/Cellar/pkg-config/0.29.1/bin/pkg-config
/usr/local/share/aclocal/pkg.m4 -> /usr/local/Cellar/pkg-config/0.29.1/share/aclocal/pkg.m4
/usr/local/share/doc/pkg-config/pkg-config-guide.html
/usr/local/share/doc/pkg-config/pkg-config-guide.html
/usr/local/share/man/man1/pkg-config.1 -> /usr/local/Cellar/pkg-config/0.29.1/share/man/man1/pkg-config.1
==> Summary
🍺  /usr/local/Cellar/pkg-config/0.29.2: 11 files, 631KB
==> Installing wget dependency: gettext
==> Downloading https://homebrew.bintray.com/bottles/gettext-0.19.8.1.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring gettext-0.19.8.1.yosemite.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local,
because macOS provides the BSD gettext library & some software gets confused if both are in the library path.

If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile

For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/gettext/lib
    CPPFLAGS: -I/usr/local/opt/gettext/include

==> Summary
🍺  /usr/local/Cellar/gettext/0.19.8.1: 1,934 files, 17.0MB
==> Installing wget dependency: libunistring
==> Downloading https://ftp.gnu.org/gnu/libunistring/libunistring-0.9.8.tar.xz
######################################################################## 100.0%
==> ./configure --disable-silent-rules --prefix=/usr/local/Cellar/libunistring/0.9.8
==> make
==> make check
==> make install
🍺  /usr/local/Cellar/libunistring/0.9.8: 53 files, 4.4MB, built in 3 minutes 55 seconds
==> Installing wget dependency: libidn2
==> Downloading https://ftp.gnu.org/gnu/libidn/libidn2-2.0.4.tar.gz
######################################################################## 100.0%
==> ./configure --disable-silent-rules --prefix=/usr/local/Cellar/libidn2/2.0.4 --with-packager=Homebrew
==> make install
🍺  /usr/local/Cellar/libidn2/2.0.4: 46 files, 585.3KB, built in 57 seconds
==> Installing wget dependency: makedepend
==> Downloading https://homebrew.bintray.com/bottles/makedepend-1.0.5.yosemite.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring makedepend-1.0.5.yosemite.bottle.1.tar.gz
🍺  /usr/local/Cellar/makedepend/1.0.5: 7 files, 72.8KB
==> Installing wget dependency: openssl
==> Downloading https://www.openssl.org/source/openssl-1.0.2n.tar.gz
######################################################################## 100.0%
==> perl ./Configure --prefix=/usr/local/Cellar/openssl/1.0.2n --openssldir=/usr/local/etc/openssl no-ssl2 zlib-dynamic shared enable-cms darwin64-x86_64-cc enable-ec_nistp
==> make depend
==> make
==> make test
==> make install MANDIR=/usr/local/Cellar/openssl/1.0.2n/share/man MANSUFFIX=ssl
==> Caveats
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

This formula is keg-only, which means it was not symlinked into /usr/local,
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.

If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile

For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include
For pkg-config to find this software you may need to set:
    PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig

==> Summary
🍺  /usr/local/Cellar/openssl/1.0.2n: 1,784 files, 12.1MB, built in 5 minutes 3 seconds
==> Installing wget
==> Downloading https://ftp.gnu.org/gnu/wget/wget-1.19.4.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/wget/1.19.4_1 --sysconfdir=/usr/local/etc --with-ssl=openssl --with-libssl-prefix=/usr/local/opt/openssl --disable-pcre
==> make install
🍺  /usr/local/Cellar/wget/1.19.4_1: 49 files, 3.7MB, built in 1 minute 32 seconds
ThiagoLeoncio:GradleHelloWorld tleoncio$ brew install gradle
==> Downloading https://services.gradle.org/distributions/gradle-4.5-all.zip
==> Downloading from https://downloads.gradle.org/distributions/gradle-4.5-all.zip
######################################################################## 100.0%
🍺  /usr/local/Cellar/gradle/4.5: 190 files, 77.4MB, built in 11 seconds


ThiagoLeoncio:GradleHelloWorld tleoncio$ sudo su
Password:
sh-3.2# gradle
Starting a Gradle Daemon (subsequent builds will be faster)

> Task :help 

Welcome to Gradle 4.5.

To run a build, run gradle <task> ...

To see a list of available tasks, run gradle tasks

To see a list of command-line options, run gradle --help

To see more detail about a task, run gradle help --task <task>


BUILD SUCCESSFUL in 3s
1 actionable task: 1 executed


sh-3.2# gradle test

BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed
sh-3.2# gradle test deploy



Have fun and happy coding!

Thiago Leoncio.