Saturday, January 17, 2026

Invest Smart: Philippines Stock Market: 1-Year Performance Review


The financial and market information provided on wisemoneyai.com is intended for informational purposes only. Wisemoneyai.com is not liable for any financial losses incurred while trading cryptocurrencies. Conduct your own research by contacting financial experts before making any investment decisions. We believe that all content is accurate as of the date of publication, but certain offers mentioned may no longer be available.


Introduction: How Did the Philippine Stock Market Do in the Past Year?

Over the last 12 months, the Philippine stock market has gone through ups and downs, driven by inflation concerns, interest-rate expectations, and cautious investor sentiment. While there were short-term rallies, the broader market mostly moved sideways, with gains in some sectors offset by weakness in others.

The benchmark index, the PSEi, reflects this mixed performance — showing that stock picking and sector selection mattered more than simply buying the whole market.


Overall Market Performance (1-Year View)

  • The PSEi is flat to slightly negative year-on-year

  • The index traded within a wide range, showing volatility

  • Foreign investors were selective, while local investors focused on short-term opportunities

Beginner takeaway:
A flat market doesn’t mean there are no opportunities — it means some stocks win while others lose.


Sectors That Are Moving (Winners & Laggards)

🔼 Stronger-Performing Sectors

⛏️ Mining & Oil

  • One of the best-performing sectors in the past year

  • Benefited from commodity-related interest and speculative trading

  • Attracted active retail investors

🛎️ Services

  • Showed moderate gains, driven by select consumer- and service-oriented companies

  • Performance varied widely per company


Weaker or Slower Sectors

🏦 Financials (Banks)

  • Mixed performance

  • Some large banks lagged due to margin pressure and cautious lending outlook

🏢 Property

  • Faced headwinds from high interest rates

  • Slower demand affected stock prices

🏭 Holding Firms & Industrials

  • Mostly flat to slightly down

  • Performance depended heavily on underlying subsidiaries

Beginner takeaway:
Sectors react differently to economic conditions — diversification helps reduce risk.


Top Company Gainers (1-Year Performance)

Some stocks delivered strong gains despite the overall flat market, mostly outside the main index:

  • International Container Terminal Services (ICT)

YTD Price Increase: ~+45% to +50%

        Why it led the market

    • Strong global port volumes
    • Peso weakness boosted dollar revenues
    • Heavy foreign institutional buying

  • JG Summit Holdings (JGS)

YTD Price Increase: ~+35% to +40%

     Why it surged

  • Recovery in airline (Cebu Pacific)

  • Improved consumer and industrial outlook

  • Re-rating from deeply oversold levels

 📝   Best recovery play among conglomerates

  • Manila Electric Company (MER)

          YTD Price Increase: ~+18% to +22%
        Why it performed well

  • Stable electricity demand

  • Defensive earnings profile

  • Strong dividend appeal

  📝  Top defensive gainer


  • Ayala Corporation (AC)

         YTD Price Increase: ~+12% to +15%

    Why it gained
  • Exposure to banks, property, telco, and energy
  • Improved sentiment on rate cuts
  • Conglomerate re-rating

  📝  Balanced long-term blue chip

  • SM Investments Corporation (SM)

        YTD Price Increase: ~+10% to +13%

Why it moved up

  • Strong mall foot traffic

  • Retail and banking exposure

  • Considered a “safe haven” stock

📝 Consumer-led recovery play


Least-Performing Stocks (Laggards)

On the other side, several stocks struggled:

  • Some small-cap and low-liquidity stocks posted steep declines

  • Select banking stocks underperformed the index

  • Companies sensitive to interest rates and consumer demand lagged

⚠️ Important for beginners:
Big drops don’t always mean “cheap” — they can signal real business challenges.


Least Performing PSEi Stocks (YTD 2025)

🔻 Ayala Land (ALI)

    YTD Price Change: ~-20% to -25%

Why it underperformed

  • High interest rates pressured property demand

  • Slower residential sales

  • Rate-sensitive sector lagged market

📝 Property sector laggard


Aboitiz Equity Ventures (AEV)

    YTD Price Change: ~-15% to -20%

Why it underperformed

  • Power generation margin pressure

  • Mixed performance across subsidiaries

  • Weaker investor sentiment toward utilities exposure

 📝  Conglomerate with cyclical exposure


SM Prime Holdings (SMPH)

     YTD Price Change: ~-12% to -18%

Why it underperformed

  • Mall recovery priced in early

  • Property and REIT-related concerns

  • Slower upside compared to banks

📝 Consumer property lag


Union Bank of the Philippines (UBP)

     YTD Price Change: ~-25% to -30%

Why it underperformed

  • Integration costs from acquisitions

  • Margin pressure vs. peers

  • Underperformed other major banks

📝 Weakest large-cap bank in 2025


GT Capital Holdings (GTCAP)

    YTD Price Change: ~-10% to -15%

Why it underperformed

  • Auto sector slowdown

  • Banking exposure lagged stronger peers

  • Conglomerate discount persisted

📝 Lagging holding firm




What This Means for Beginner Investors

  • A flat index highlights the importance of choosing the right sector

  • High-performing stocks often come with higher volatility

  • Blue-chip stocks may move slower but offer stability

  • Long-term investing benefits from diversification and patience


Conclusion: Key Lessons from the Past Year

The past year in the Philippine stock market shows that not all markets move straight up — and that’s okay. While the PSEi remained mostly range-bound, mining and selected service stocks outperformed, while banks and property stocks lagged.

For beginners, the biggest lesson is simple:

📌 You don’t need to predict the market — you need to understand it.

Focus on learning sectors, managing risk, and investing with a long-term mindset. Even in a sideways market, smart and informed investors can still find opportunities.

Junior MLOps Engineer — Day 3 – Linux & Shell for MLOps

 


Goal of the Day

Learn how Linux and shell basics power real-world MLOps pipelines—from organizing ML projects to automating training and deployment.

MLOps engineers live in the terminal. Models don’t fail because of math—they fail because of bad structure, broken scripts, or missing environment variables.


1️⃣ Folder Structures for ML Projects

A clean project structure is non-negotiable in MLOps. It enables:

  • Reproducibility

  • Collaboration

  • CI/CD automation

  • Easier debugging & monitoring

📂 Standard ML Project Structure


Why This Matters in MLOps

  • data/ → versioned and tracked

  • src/ → production code (not notebooks)

  • scripts/ → automation entry points

  • configs/ → environment-agnostic settings

  • models/ → saved artifacts for deployment

This structure maps directly to CI/CD pipelines and ML platforms.


2️⃣ Bash Commands Used in MLOps Pipelines

MLOps pipelines rely heavily on shell commands—especially in Dockerfiles, CI tools, cron jobs, and cloud VMs.


📌 Core Linux Commands You Must Know


Example: Run a Training Script

python src/train.py

import os

import logging

from datetime import datetime


import pandas as pd

from sklearn.linear_model import LogisticRegression

from sklearn.model_selection import train_test_split

from sklearn.metrics import accuracy_score

import joblib


# -----------------------------

# Configuration (via env vars)

# -----------------------------

MODEL_NAME = os.getenv("MODEL_NAME", "demo_model")

MODEL_VERSION = os.getenv("MODEL_VERSION", "v1")

DATA_PATH = os.getenv("DATA_PATH", "data/processed/train.csv")

MODEL_DIR = os.getenv("MODEL_DIR", "models")

LOG_DIR = os.getenv("LOG_DIR", "logs")


os.makedirs(MODEL_DIR, exist_ok=True)

os.makedirs(LOG_DIR, exist_ok=True)


# -----------------------------

# Logging setup

# -----------------------------

log_file = f"{LOG_DIR}/train_{datetime.now().strftime('%Y%m%d_%H%M%S')}.log"

logging.basicConfig(

    level=logging.INFO,

    format="%(asctime)s - %(levelname)s - %(message)s",

    handlers=[

        logging.FileHandler(log_file),

        logging.StreamHandler()

    ]

)


logging.info("Starting training pipeline")

logging.info(f"Model: {MODEL_NAME}, Version: {MODEL_VERSION}")

logging.info(f"Loading data from {DATA_PATH}")


# -----------------------------

# Load data

# -----------------------------

try:

    data = pd.read_csv(DATA_PATH)

except FileNotFoundError:

    logging.error("Training data not found. Exiting.")

    raise


X = data.drop("label", axis=1)

y = data["label"]


# -----------------------------

# Train / Test split

# -----------------------------

X_train, X_test, y_train, y_test = train_test_split(

    X, y, test_size=0.2, random_state=42

)


# -----------------------------

# Model training

# -----------------------------

model = LogisticRegression(max_iter=1000)

model.fit(X_train, y_train)


logging.info("Model training completed")


# -----------------------------

# Evaluation

# -----------------------------

preds = model.predict(X_test)

accuracy = accuracy_score(y_test, preds)


logging.info(f"Validation accuracy: {accuracy:.4f}")


# -----------------------------

# Save model artifact

# -----------------------------

model_path = f"{MODEL_DIR}/{MODEL_NAME}_{MODEL_VERSION}.joblib"

joblib.dump(model, model_path)


logging.info(f"Model saved to {model_path}")

logging.info("Training pipeline finished successfully")


🧪 Example: Run Full Pipeline

bash  
    scripts/run_pipeline.sh


✅ Sample run_pipeline.sh

#!/bin/bash

# -----------------------------
# Safe bash settings
# -----------------------------
set -euo pipefail

# -----------------------------
# Project paths
# -----------------------------
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
SRC_DIR="$PROJECT_ROOT/src"
DATA_DIR="$PROJECT_ROOT/data/processed"
LOG_DIR="$PROJECT_ROOT/logs"

mkdir -p "$LOG_DIR"

# -----------------------------
# Environment variables
# -----------------------------
export ENV="dev"
export MODEL_NAME="demo_model"
export MODEL_VERSION="v1"
export DATA_PATH="$DATA_DIR/train.csv"
export MODEL_DIR="$PROJECT_ROOT/models"
export LOG_DIR="$LOG_DIR"

# -----------------------------
# Logging
# -----------------------------
PIPELINE_LOG="$LOG_DIR/pipeline_$(date +%Y%m%d_%H%M%S).log"
exec > >(tee -a "$PIPELINE_LOG") 2>&1

echo "🚀 Starting MLOps pipeline"
echo "Environment: $ENV"
echo "Model: $MODEL_NAME ($MODEL_VERSION)"
echo "Project root: $PROJECT_ROOT"

# -----------------------------
# Data validation (basic)
# -----------------------------
if [ ! -f "$DATA_PATH" ]; then
  echo "❌ Training data not found at $DATA_PATH"
  exit 1
fi

echo "✅ Training data found"

# -----------------------------
# Training step
# -----------------------------
echo "🏋️ Running model training..."
python "$SRC_DIR/train.py"

echo "✅ Training completed"

# -----------------------------
# Pipeline finished
# -----------------------------
echo "🎉 Pipeline finished successfully"
echo "Logs saved to $PIPELINE_LOG"

🧪 Example: Check Logs


tail -f logs/train.log

 

📄 logs/train_20260118_093215.log (Sample)

2026-01-18 09:32:15,104 - INFO - Starting training pipeline
2026-01-18 09:32:15,105 - INFO - Model: demo_model, Version: v1
2026-01-18 09:32:15,105 - INFO - Loading data from data/processed/train.csv
2026-01-18 09:32:15,321 - INFO - Training dataset loaded successfully
2026-01-18 09:32:15,322 - INFO - Total records: 12,000
2026-01-18 09:32:15,323 - INFO - Features: 15 | Label column: label
2026-01-18 09:32:15,330 - INFO - Splitting data (80% train / 20% validation)
2026-01-18 09:32:15,342 - INFO - Train samples: 9,600
2026-01-18 09:32:15,342 - INFO - Validation samples: 2,400
2026-01-18 09:32:15,351 - INFO - Initializing LogisticRegression model
2026-01-18 09:32:15,359 - INFO - Training model...
2026-01-18 09:32:16,912 - INFO - Model training completed successfully
2026-01-18 09:32:16,918 - INFO - Running validation
2026-01-18 09:32:16,934 - INFO - Validation accuracy: 0.8725
2026-01-18 09:32:16,940 - INFO - Saving model artifact
2026-01-18 09:32:16,946 - INFO - Model saved to models/demo_model_v1.joblib
2026-01-18 09:32:16,947 - INFO - Training pipeline finished successfully


How an MLOps Engineer Reads This Log

Log SectionWhy It Matters
Pipeline start
Confirms job execution
Model name & version
Traceability & rollback
Dataset size
Detects data drift
Train/val split
Reproducibility
Training duration
Performance & cost
Accuracy metric
Model health
Artifact path
Deployment readiness

 

3️⃣ Environment Variables (Critical for MLOps)

Environment variables let you separate code from configuration.

They are used for:

  • Secrets (API keys)

  • Model paths

  • Environment flags (dev / prod)

  • Cloud credentials

🔑 Set Environment Variables

                  bash 

export MODEL_NAME="fraud_detector"

export ENV="production"

           

Check:

                bash 

         echo $MODEL_NAME


    Why MLOps Uses Env Vars

  • Prevents hardcoding secrets

  • Makes Docker & CI/CD portable

  • Enables safe multi-environment deployments


     Example in Docker / CI

            bash
                
                export AWS_ACCESS_KEY_ID=****
                export AWS_SECRET_ACCESS_KEY=****

 

4️⃣ Practice Exercise (Hands-On)

📌 Task: Create an ML Project Directory

Run the following commands:

    bash 

mkdir -p ml-project/{data/{raw,processed},src,models,configs,scripts,logs}

cd ml-project

touch README.md requirements.txt

Verify:

    bash

        tree

(If tree isn’t installed, use ls -R)


Bonus Challenge (Optional)

  • Create train.py inside src/

  • Write a bash script run_pipeline.sh that runs training

  • Add an environment variable for model version


What You Learned Today

✔ Linux project structuring for ML
✔ Essential bash commands for pipelines
✔ Environment variables for secure deployments
✔ Hands-on ML project setup

 

Other related links:

Junior MLOps Engineer - Day 2 Training: ML Lifecycle Deep Dive 
https://www.wisemoneyai.com/2026/01/junior-mlops-engineer-day-2-training-ml.html

30-Day Full Course (1 Hour per Day) - Day 1 included
https://www.wisemoneyai.com/2026/01/junior-mlops-engineer-30-day-full.html

Tuesday, January 13, 2026

Investment Smart: Do You Really Need to Time the Stock Market?

 


The financial and market information provided on wisemoneyai.com is intended for informational purposes only. Wisemoneyai.com is not liable for any financial losses incurred while trading cryptocurrencies. Conduct your own research by contacting financial experts before making any investment decisions. We believe that all content is accurate as of the date of publication, but certain offers mentioned may no longer be available.


Are you a newbie investor?
Are you just about to enter the stock market?
Are you considering the stock market as a form of passive income?

If you answered yes to any of these, you’re not alone.

One of the most common questions—often debated by both seasoned and beginner investors—is:
“Do we need to time the market?”

New investors often get confused by market noise, daily price swings, and opinions shared on social media and forums. The fear of buying at the “wrong time” can lead to hesitation or, worse, emotional decisions. The good news is: there is an investment approach well-suited for beginners and long-term passive investors.


Do You Really Need to Time the Market?

For most individual investors—especially beginners—the answer is no.

Market timing requires predicting short-term price movements, something even professional fund managers consistently fail to do. Instead of stressing over when to buy, long-term investors focus on how to invest consistently and what to invest in.

This is where a beginner-friendly strategy comes in.


Dollar-Cost Averaging (DCA): A Smart Strategy for Beginners

Dollar-Cost Averaging (DCA) is an investment method where you invest a fixed amount of money at regular intervals (weekly, bi-weekly, or monthly), regardless of market conditions.

Instead of trying to buy at the “perfect” price, you spread your investments over time, allowing market ups and downs to work in your favor.

Advantages of Dollar-Cost Averaging

  • Reduces risk from market volatility
    You avoid putting all your money in at a single market peak.

  • Removes emotional decision-making
    You invest consistently, not based on fear or hype.

  • Affordable for new investors
    You don’t need a large lump sum to get started.

  • Power of compounding over time
    Gradual investing in quality companies can significantly grow wealth over the long term.


Top U.S. Companies That Performed Exceptionally Over the Past 10 Years

When combined with DCA, investing in high-quality, proven companies has historically produced strong long-term results. Below are some blue-chip and dividend-growth stocks that have delivered outstanding performance over the last decade.

🔹 Top Blue-Chip Performers (10-Year View)

  • NVIDIA (NVDA)
    A dominant force in GPUs and AI computing, delivering extraordinary long-term growth.

  • Apple (AAPL)
    A global brand with strong cash flow, ecosystem loyalty, and consistent innovation.

  • Microsoft (MSFT)
    A leader in cloud computing, enterprise software, and AI integration.

  • Alphabet (GOOGL)
    Strong advertising dominance with expanding cloud and AI capabilities.

  • Broadcom (AVGO)
    Known for steady earnings growth, acquisitions, and shareholder-friendly dividends.


🔹 Top Dividend Growth Stocks (Consistent Income + Growth)

  • Caterpillar (CAT)
    A dividend aristocrat benefiting from global infrastructure and industrial demand.

  • AbbVie (ABBV)
    Strong cash flows, solid dividends, and a resilient healthcare business.

  • Walmart (WMT)
    A defensive consumer giant with consistent dividend growth.

  • Linde (LIN)
    A global industrial leader with stable earnings and long-term dividend growth.

These companies demonstrate a key principle of long-term investing:
Great businesses tend to reward patient investors.


Final Thoughts: Building Wealth the Smart Way

Investing always requires doing your own research before risking your hard-earned money. There are no guarantees in the stock market—but history shows that discipline, consistency, and quality matter more than perfect timing.

For new investors:

  • Dollar-Cost Averaging helps manage risk and emotions

  • Investing in strong, well-established companies adds long-term value

  • Time in the market is more powerful than timing the market

Start small, stay consistent, and think long term.
That’s how investing transforms from a confusing risk into a powerful wealth-building tool.

Sunday, January 11, 2026

Junior MLOps Engineer - Day 2 Training: ML Lifecycle Deep Dive

 


Goal: Understand how a machine learning system moves from raw data to a live, monitored production model—and where things can break.

Why the ML Lifecycle Matters

Many beginners think machine learning ends after training a model.
In reality, training is just the middle.

Most real-world ML failures happen after deployment, not during modeling.

MLOps exists to manage the full lifecycle.




1. Data

What happens:

  • Collect raw data (logs, images, text, transactions, etc.)

  • Clean, label, and validate data

  • Split into train / validation / test sets

Common failure points:

  • Missing or incorrect labels

  • Biased or unrepresentative data

  • Data leakage (future data in training)


2. Training

What happens:

  • Select algorithms

  • Train models on historical data

  • Tune hyperparameters

  • Evaluate performance (accuracy, precision, recall, etc.)

Outputs:

  • Model artifact (file)

  • Metrics

  • Training logs

Common failure points:

  • Overfitting to training data

  • Training on outdated data

  • Metrics that don’t reflect real-world usage


3. Model (Artifact Management)

What happens:

  • Save trained models

  • Version models

  • Track metadata (data version, parameters, metrics)

Why this matters:
Without versioning, you can’t answer:

“Which model caused this bad prediction?”

Common failure points:

  • No version control

  • No experiment tracking

  • Can’t reproduce results


4. Deployment

What happens:

  • Expose the model via:

    • API (real-time predictions)

    • Batch jobs (scheduled predictions)

  • Integrate into applications or workflows

Deployment types:

  • Canary

  • Blue/Green

  • Shadow deployments

Common failure points:

  • Environment mismatch (works in training, fails in prod)

  • Latency issues

  • Scaling failures


5. Monitoring

What happens:

  • Track:

    • Prediction accuracy

    • Input data changes

    • Model performance over time

  • Detect drift and anomalies

Types of monitoring:

  • Data drift (input changes)

  • Concept drift (pattern changes)

  • Infrastructure health

Common failure points:

  • No monitoring at all

  • Monitoring only uptime, not accuracy

  • Ignoring early warning signals


Feedback Loops & Retraining










Why Feedback Loops Are Critical

The real world changes:

  • User behavior shifts

  • Fraud tactics evolve

  • Language changes

  • Markets fluctuate

Feedback loop process:

  1. Monitor performance

  2. Detect degradation

  3. Collect new data

  4. Retrain model

  5. Redeploy improved version

This loop is what keeps models alive and useful.


How MLOps Fits In

MLOps ensures:

  • Every stage is repeatable

  • Failures are detectable

  • Updates are safe

  • Models are maintainable

Without MLOps: models slowly die.
With MLOps: models evolve


Invest Smart: Philippines Stock Market: 1-Year Performance Review

The financial and market information provided on wisemoneyai.com is intended for informational purposes only. W isemoneyai.com is not liab...

Must Read