ggplot2 and plotly are very advanced charting libraries but sometimes it may be preferable to use base graphics, e.g. if one needs to fine-tune the chart layout.
A [not so] well-known R package DescTools draws nice ohlc plots and allows parsing arguments to plot() command. Continue reading "CandleStick Plots with R base graphics (withOUT ggplot2 and plotly)"
Category: Software
Setting up Python-Env – mamba [b]eats conda
Mamba aka Miniforge was a package for (and now a spin-off of) Anaconda, intended for a faster environment resolution. In general mamba is [currently] more efficient than conda, esp. if you rely on conda-forge, a community-led anaconda channel Continue reading "Setting up Python-Env – mamba eats conda"
Howto Setup SoS Jupyter in Conda – R4 and Python38 with Tensorflow and Spyder
Anaconda is a very practical tool to manage the virtual environments... when it properly works. In theory, a desired configuration shall be setup seamlessly. In practice Conda may need hours to resolve the configuration and finally do it wrong. In this manual I explain how to setup a SoS Jupyter Notebook with R4 and Python38 with a TensorFlow and Spyder. This worked on 01.01.2024 Continue reading "Howto Setup SoS Jupyter in Conda – R4 and Python38 with Tensorflow and Spyder"
AI Stock Picking Dashboard via mwShiny in Docker behind Apache ReverseProxy
In this post I demonstrate [the performance of] a multi-window interactive graphical dashboard, which visualizes the stock-picking signals from an ensemble of deep neural networks.
Further I describe the online deployment of this dashboard by means of Docker and Apache ReverseProxy.
Everybody, who invests quantitatively and significantly contributed to the engaged software: in partucular R, [mw]Shiny, LAMP-stack, Docker (and of course TF/keras) are encouraged to claim their free access to this dashboard (others are also encouraged to request a paid subscription :)). Continue reading "AI Stock Picking Dashboard via mwShiny in Docker behind Apache ReverseProxy"
JuniorDepot29 – (Over)archieving the Financial Plan (thanks to AI and NI)
Since we did not report about Elle's progress for more than a year, the readers of letYourMoneyGrow.com might have thought that we have terminated our experiment of growing a 7 (currently 11) years young girl as an investor. Nope, not at all! As a matter of fact we worked hard on creation and test of a deep neural network for the stock (pre)selection. And it did work, our CAGR goal is (over)achieved!
Continue reading "JuniorDepot29 – (Over)archieving the Financial Plan (thanks to AI and NI)"
GPUs in AI – are they always cool? No, sometimes they are hot!
Finally I harnessed Tesla K80 for my AI modeling but unfortunately the overheat brings much overheads and not by all models the GPU is superior over CPU. Continue reading "GPUs in AI – are they always cool? No, sometimes they are hot!"
Affordable Hardware for Stockpicking AI – BeerWulf’s eBay Adventure
In my previous post I reported howto build and install TensorFlow and horovod from sources and howto setup a BeerWulf (BeoWulf) cluster. Building this BeerWulf cluster is though a good exercise to make a (resilient) system of a commodity hardware, however, it is not the most efficient way for a practical purpose (in my case: for creating an AI model, which helps me to pick up stocks). In this post I consider the hardware alternatives in the sense of making them both as efficient and as cheap as possible. Continue reading "Affordable Hardware for Stockpicking AI – BeerWulf’s eBay Adventure"
Building TensorFlow 2.5 (CPU only) and Horovod from source in Ubuntu 20.04.2 LTS
Short summary:
sudo swapoff /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=65536 oflag=append conv=notrunc
sudo mkswap /swapfile
sudo swapon /swapfile
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1
sudo apt update
sudo apt install python3-dev python3-pip
sudo apt install python3-testresources
pip install -U --user pip numpy==1.19.5 wheel
pip install -U --user keras_preprocessing --no-deps
sudo apt install git
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
git checkout r2.5
sudo apt install npm
sudo npm install -g @bazel/bazelisk
./configure
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
pip install /tmp/tensorflow_pkg/tensorflow-2.5.0-cp38-cp38-linux_x86_64.whl
sudo apt-get install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
ssh-keygen
ssh-copy-id vasily@SERVER2
ssh SERVER2
ssh-keygen
ssh-copy-id vasily@SERVER1
sudo snap install cmake --classic
sudo apt install openmpi-bin
mpirun -H SERVER1:1,SERVER2:1 hostname
git clone --recursive https://github.com/uber/horovod.git
cd horovod
python setup.py clean
python setup.py bdist_wheel
HOROVOD_WITH_TENSORFLOW=1 pip install ./dist/horovod-0.22.1-cp38-cp38-linux_x86_64.whl[tensorflow,keras]
mpirun -H SERVER1:3,SERVER2:3 python3 /home/vasily/horovod/examples/tensorflow2/tensorflow2_keras_mnist.py
Continue reading "Building TensorFlow 2.5 (CPU only) and Horovod from source in Ubuntu 20.04.2 LTS"
Howto Install Tensorflow-GPU with Keras in R – A manual that worked on 2021.02.20 (and likely will work in future)
A brief instruction:
0. Update your Nvidia graphic card driver (just driver; you need NOT install/update CUDA but make sure that your card has cuda compute capability >= 3.5)
1. install Anaconda (release Anaconda3-2020.11 from anaconda.org)
2. open anaconda prompt and run
>conda create -n tfgpu210p37 python==3.7
>conda activate tfgpu210p37
>conda install cudatoolkit=10.1 cudnn=7.6 -c=conda-forge
>conda install -c anaconda tensorflow-gpu
3. in R run
>install.packages("keras")
>reticulate::use_condaenv("tfgpu210p37", required = TRUE)
>library(keras)
4. If you wanna understand what is going on under the hood, read further
Continue reading "Howto Install Tensorflow-GPU with Keras in R – A manual that worked on 2021.02.20 (and likely will work in future)"
Interbreeding R and Python to Give Birth to an Optimal German Mortgage
In many countries a mortgage shall be completely redeemed to the end of its duration and may be refinanced anytime. In USA one additionally can foreclose his mortgage by mailing his house-keys to a bank. In Germany is different.
First of all, one may completely refinance a mortgage only after 10 years (otherwise one have to pay Vorfälligkeitsentschädigung - a compensation to a bank for missed interest). But taking a long-term mortgage (20 or 30 years) implies a higher mortgage rate, thus it is not uncommon to take several consequent 10- (or sometimes even 5-) year mortgages. In order to optimize mortgage costs / rate change risk relation one can take several submortgages with different durations. Last but not least there is no requirement to amortize a mortgage completely: normally one refinances the residual debt (Restschuld) with a follow-up mortgage (Anschlussfinanzierung).
In this post we discuss the challenges of mortgage optimization and show how two popular programming languages - R and Python - can help us together Continue reading "Interbreeding R and Python to Give Birth to an Optimal German Mortgage"