|
|
|
@@ -31,20 +31,34 @@ fi
|
|
|
|
|
|
|
|
|
|
End=$(date -d "${Start} + 1 day" "+%Y-%m-%d")
|
|
|
|
|
|
|
|
|
|
# Exclude today
|
|
|
|
|
if [ "${End}" == $(date '+%Y-%m-%d') ] ; then
|
|
|
|
|
End=$(date -d 'yesterday' ''+%Y-%m-%d'')
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "${NumJobs}" == "" ] ; then
|
|
|
|
|
NumJobs=30
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "Start=${Start} End=${End} NumJobs=${NumJobs}"
|
|
|
|
|
|
|
|
|
|
# export PyScript=/home/cvtt/prod/cvttpy/exchanges/alpaca/hist_mkt_data.py
|
|
|
|
|
|
|
|
|
|
export PYTHONPATH=/home/cvtt/prod
|
|
|
|
|
export Python=/home/cvtt/.pyenv/python3.10-venv/bin/python3
|
|
|
|
|
export PyScript=/home/cvtt/prod/cvttpy/exchanges/alpaca/hist_mkt_data.py
|
|
|
|
|
|
|
|
|
|
export OutputDir=/home/cvtt/host_drive/alpaca_md # Local
|
|
|
|
|
export Config=http://cloud16.cvtt.vpn:6789/apps/minimal_md
|
|
|
|
|
export PyScript=/home/cvtt/prod/cvttpy/exchanges/alpaca/hist_md/hist_md_bars.py
|
|
|
|
|
export OutputDir=/home/cvtt/host_drive/alpaca_md # Local
|
|
|
|
|
export LogDir=/home/cvtt/prod/logs/alpaca_md
|
|
|
|
|
|
|
|
|
|
# ----- T E M P
|
|
|
|
|
# export PYTHONPATH=/home/oleg/develop/cvtt2
|
|
|
|
|
# export Python=/home/oleg/.pyenv/python3.10-venv/bin/python3
|
|
|
|
|
# export Config=http://cloud16.cvtt.vpn:6789/apps/minimal_md
|
|
|
|
|
# export PyScript=/home/oleg/develop/cvtt2/cvttpy/exchanges/alpaca/hist_md/hist_md_bars.py
|
|
|
|
|
# export OutputDir=/home/oleg/develop/cvtt2/tmp # Local
|
|
|
|
|
# export LogDir=/home/oleg/develop/cvtt2/tmp
|
|
|
|
|
|
|
|
|
|
mkdir -p ${LogDir}
|
|
|
|
|
|
|
|
|
|
run_proc() {
|
|
|
|
@@ -55,20 +69,21 @@ run_proc() {
|
|
|
|
|
|
|
|
|
|
Cmd="${Python} ${PyScript}"
|
|
|
|
|
Cmd="${Cmd} --config=${Config}"
|
|
|
|
|
Cmd="${Cmd} --output_dir=${OutputDir}"
|
|
|
|
|
Cmd="${Cmd} --output_dir=${OutputDir}/${Start:0:4}"
|
|
|
|
|
Cmd="${Cmd} --instruments=ALPACA:${Inst}"
|
|
|
|
|
Cmd="${Cmd} --start=${Start}"
|
|
|
|
|
if [ "${End}" != "" ]; then
|
|
|
|
|
Cmd="${Cmd} --end=${End}"
|
|
|
|
|
fi
|
|
|
|
|
Cmd="${Cmd} --log_file=${LogDir}/${Start}.${Inst}.log"
|
|
|
|
|
Cmd="${Cmd} --log_file=${LogDir}/${Inst}.log"
|
|
|
|
|
Cmd="${Cmd} --log_level=WARNING"
|
|
|
|
|
echo ${Cmd}
|
|
|
|
|
eval ${Cmd}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export -f run_proc
|
|
|
|
|
|
|
|
|
|
if [ -n $InstListFile ]; then
|
|
|
|
|
if [ "$InstListFile" == "" ]; then
|
|
|
|
|
|
|
|
|
|
key=$(jq -r '.["ALPACA_SANDBOX"] | .api_key' ~/.creds)
|
|
|
|
|
secret=$(jq -r '.["ALPACA_SANDBOX"] | .secret_key' ~/.creds)
|
|
|
|
@@ -95,5 +110,5 @@ slice_size=500 # 10K symbols parallel cannot handle
|
|
|
|
|
for ((ii=0; ii <${#Instruments[@]}; ii+=slice_size)); do
|
|
|
|
|
InstSlice=("${Instruments[@]:ii:slice_size}")
|
|
|
|
|
|
|
|
|
|
parallel -j ${NumJobs} run_proc {} ${Start} ${End} ::: "${InstSlice[@]}"
|
|
|
|
|
echo parallel -j ${NumJobs} run_proc {} ${Start} ${End} ::: "${InstSlice[@]}"
|
|
|
|
|
done
|
|
|
|
|